tun2: do pingloop more manually
This commit is contained in:
parent
1d5c58e22d
commit
d7e1510121
|
@ -0,0 +1 @@
|
||||||
|
xena@greedo.xeserv.us.3075:1486865539
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
@ -153,12 +154,27 @@ func (s *Server) ListenAndServe() error {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = s.RoundTrip(req)
|
stream, err := c.session.OpenStream()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ln.Error(err)
|
ln.Error(err)
|
||||||
|
|
||||||
c.cancel()
|
c.cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = req.Write(stream)
|
||||||
|
if err != nil {
|
||||||
|
ln.Error(err)
|
||||||
|
|
||||||
|
c.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = ioutil.ReadAll(stream)
|
||||||
|
if err != nil {
|
||||||
|
ln.Error(err)
|
||||||
|
c.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
stream.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
s.connlock.Unlock()
|
s.connlock.Unlock()
|
||||||
|
@ -188,7 +204,7 @@ func (s *Server) HandleConn(c net.Conn, isKCP bool) {
|
||||||
controlStream, err := session.OpenStream()
|
controlStream, err := session.OpenStream()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ln.Error(err, ln.F{
|
ln.Error(err, ln.F{
|
||||||
"action": "control_stream_failure",
|
"action": "control_stream_failure"
|
||||||
"local": c.LocalAddr().String(),
|
"local": c.LocalAddr().String(),
|
||||||
"remote": c.RemoteAddr().String(),
|
"remote": c.RemoteAddr().String(),
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue