From 636effbe38e59f2a3853bdae773ff101c8cc5e2b Mon Sep 17 00:00:00 2001 From: v2ray Date: Sun, 10 Jul 2016 15:58:55 +0200 Subject: [PATCH] more accurate source id --- transport/internet/kcp/listener.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/transport/internet/kcp/listener.go b/transport/internet/kcp/listener.go index e73b2089a..320f9d1da 100644 --- a/transport/internet/kcp/listener.go +++ b/transport/internet/kcp/listener.go @@ -59,10 +59,10 @@ func (this *Listener) OnReceive(payload *alloc.Buffer, src v2net.Destination) { if !this.running { return } - srcAddrStr := src.NetAddr() - conn, found := this.sessions[srcAddrStr] + conv := serial.BytesToUint16(payload.Value) + sourceId := src.NetAddr() + "|" + serial.Uint16ToString(conv) + conn, found := this.sessions[sourceId] if !found { - conv := serial.BytesToUint16(payload.Value) writer := &Writer{ hub: this.hub, dest: src, @@ -79,7 +79,7 @@ func (this *Listener) OnReceive(payload *alloc.Buffer, src v2net.Destination) { conn.Close() return } - this.sessions[srcAddrStr] = conn + this.sessions[sourceId] = conn } conn.Input(payload.Value) }