File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1818.idea /
1919/bin
2020/dist
21-
Original file line number Diff line number Diff line change @@ -136,8 +136,11 @@ func WithProxyClient(proxyAddr []string) TunnelOption {
136136 if err != nil {
137137 return nil , err
138138 }
139-
140- conn , err := proxy .Dial ("tcp" , dst )
139+ u , err := core .NewURL (dst )
140+ if err != nil {
141+ return nil , err
142+ }
143+ conn , err := proxy .Dial (u .Scheme , u .Host )
141144 if err != nil {
142145 return nil , err
143146 }
Original file line number Diff line number Diff line change @@ -54,6 +54,9 @@ func (l *Listener) defaultMonitor() {
5454 buf := make ([]byte , mtuLimit )
5555 for {
5656 if n , from , err := l .conn .ReadFrom (buf ); err == nil {
57+ if n == 0 {
58+ return
59+ }
5760 l .packetInput (buf [:n ], from )
5861 } else {
5962 l .notifyReadError (errors .WithStack (err ))
Original file line number Diff line number Diff line change @@ -48,6 +48,9 @@ func newSimplexBuffer(addr *SimplexAddr) *simplexBuffer {
4848
4949// 从buffer中读取所有数据并序列化
5050func (b * simplexBuffer ) marshal () []byte {
51+ if len (b .ctrlChan ) == 0 && b .writeBuf .Size () == 0 {
52+ return nil
53+ }
5154 var ctrlBufs [][]byte
5255 var ctrlTotalLen int
5356 for {
@@ -293,6 +296,7 @@ func (c *SimplexServer) polling() {
293296 default :
294297 p , addr , err := c .Receive ()
295298 if err != nil || len (p ) == 0 {
299+ time .Sleep (time .Duration (DefaultSimplexMinInternal / 2 ) * time .Millisecond )
296300 continue
297301 }
298302 buf := c .GetBuffer (addr )
You can’t perform that action at this time.
0 commit comments