소스 검색

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