فهرست منبع

more accurate source id

v2ray 9 سال پیش
والد
کامیت
636effbe38
1فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 4 4
      transport/internet/kcp/listener.go

+ 4 - 4
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)
 }