mirror of
https://github.com/ehang-io/nps.git
synced 2025-07-05 06:40:43 +00:00
连接bug修复
This commit is contained in:
parent
a32010fcc0
commit
86deb2025f
@ -3,7 +3,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"sync"
|
"sync"
|
||||||
@ -107,8 +106,8 @@ func (s *TRPClient) dealChan() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
//创建成功后io.copy
|
//创建成功后io.copy
|
||||||
go io.Copy(server, c)
|
go relay(server, c.conn)
|
||||||
io.Copy(c, server)
|
relay(c.conn, server)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
@ -179,7 +178,7 @@ retry:
|
|||||||
if _, err := link.WriteHost(s.tunnelTarget); err != nil {
|
if _, err := link.WriteHost(s.tunnelTarget); err != nil {
|
||||||
goto retry
|
goto retry
|
||||||
}
|
}
|
||||||
go io.Copy(link, c)
|
go relay(link.conn, c.conn)
|
||||||
io.Copy(c, link.conn)
|
relay(c.conn, link.conn)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,7 @@ func (s *Tunnel) cliProcess(c *Conn) error {
|
|||||||
s.verifyError(c)
|
s.verifyError(c)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
c.conn.(*net.TCPConn).SetReadDeadline(time.Time{})
|
||||||
//做一个判断 添加到对应的channel里面以供使用
|
//做一个判断 添加到对应的channel里面以供使用
|
||||||
flag, err := c.ReadFlag()
|
flag, err := c.ReadFlag()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
10
util.go
10
util.go
@ -7,6 +7,9 @@ import (
|
|||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"log"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httputil"
|
"net/http/httputil"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -146,3 +149,10 @@ func replaceHost(resp []byte) []byte {
|
|||||||
}
|
}
|
||||||
return []byte(str)
|
return []byte(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func relay(in, out net.Conn) {
|
||||||
|
if _, err := io.Copy(in, out); err != nil {
|
||||||
|
log.Println("copy error:", err)
|
||||||
|
}
|
||||||
|
in.Close() //
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user