Skip to content

Commit 75ab26f

Browse files
committed
merge v0.2.4
1 parent 2ea41ac commit 75ab26f

4 files changed

Lines changed: 12 additions & 3 deletions

File tree

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,3 @@
1818
.idea/
1919
/bin
2020
/dist
21-

protocol/tunnel/options.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff 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
}

x/kcp/readloop.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff 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))

x/kcp/simplex.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ func newSimplexBuffer(addr *SimplexAddr) *simplexBuffer {
4848

4949
// 从buffer中读取所有数据并序列化
5050
func (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)

0 commit comments

Comments
 (0)