This commit is contained in:
kony
2024-12-20 18:24:07 +08:00
parent c4d823ba62
commit 19fc505973
3 changed files with 17 additions and 7 deletions

View File

@@ -11,9 +11,10 @@ import (
func stunT2QProcess1(tc net.Conn, qc quic.Stream, stun_quic_conn quic.Connection) {
for {
if n, err := io.Copy(tc, qc); n == 0 || err != nil {
log.Printf(" stunT2QProcess1 tcp close: %v ==> %v\n", tc.RemoteAddr(), tc.LocalAddr())
log.Printf("udp.conn: %v, quic.conn: %v, quic.stream: %v, err: %v\n", tc.RemoteAddr(), stun_quic_conn.RemoteAddr(), qc.StreamID(), err)
//log.Printf(" stunT2QProcess1 tcp close: %v ==> %v\n", tc.RemoteAddr(), tc.LocalAddr())
tc.Close()
log.Printf(" stunT2QProcess1 quic stream close: %v, %v ==> %v\n", qc.StreamID(), stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
//log.Printf(" stunT2QProcess1 quic stream close: %v, %v ==> %v\n", qc.StreamID(), stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
qc.Close()
break
}
@@ -23,9 +24,10 @@ func stunT2QProcess1(tc net.Conn, qc quic.Stream, stun_quic_conn quic.Connection
func stunQ2TProcess1(qc quic.Stream, tc net.Conn, stun_quic_conn quic.Connection) {
for {
if n, err := io.Copy(qc, tc); n == 0 || err != nil {
log.Printf(" stunQ2TProcess1 tcp close: %v ==> %v\n", tc.RemoteAddr(), tc.LocalAddr())
log.Printf("udp.conn: %v, quic.conn: %v, quic.stream: %v, err: %v\n", tc.RemoteAddr(), stun_quic_conn.RemoteAddr(), qc.StreamID(), err)
//log.Printf(" stunQ2TProcess1 tcp close: %v ==> %v\n", tc.RemoteAddr(), tc.LocalAddr())
tc.Close()
log.Printf(" stunQ2TProcess1 quic stream close: %v, %v ==> %v\n", qc.StreamID(), stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
//log.Printf(" stunQ2TProcess1 quic stream close: %v, %v ==> %v\n", qc.StreamID(), stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
qc.Close()
break
}

View File

@@ -14,15 +14,19 @@ func ProcessProxyClient(listener net.Listener, stun_quic_conn quic.Connection) {
for {
new_tcp_conn, err := listener.Accept()
if err == nil {
log.Printf(" ProcessProxyClient listener.Accept: %v ==> %v\n", new_tcp_conn.RemoteAddr(), new_tcp_conn.LocalAddr())
//log.Printf(" ProcessProxyClient listener.Accept: %v ==> %v\n", new_tcp_conn.RemoteAddr(), new_tcp_conn.LocalAddr())
new_quic_stream, err := stun_quic_conn.OpenStreamSync(context.Background())
if err == nil {
log.Printf(" ProcessProxyClient stun_quic_conn.OpenStreamSync: %v ==> %v\n", stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
//log.Printf(" ProcessProxyClient stun_quic_conn.OpenStreamSync: %v ==> %v\n", stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
go stunT2QProcess1(new_tcp_conn, new_quic_stream, stun_quic_conn)
go stunQ2TProcess1(new_quic_stream, new_tcp_conn, stun_quic_conn)
continue
} else {
log.Printf(" ProcessProxyClient stun_quic_conn.OpenStreamSync: %v\n", err)
}
break
} else {
log.Printf(" ProcessProxyClient listener.Accept: %v\n", err)
}
break
}

View File

@@ -19,14 +19,18 @@ func ProcessProxyServer(addr string, stun_quic_conn quic.Connection) {
for {
new_quic_stream, err := stun_quic_conn.AcceptStream(context.Background())
if err == nil {
log.Printf(" ProcessProxyServer new_quic_conn.AcceptStream: %v ==> %v\n", stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
//log.Printf(" ProcessProxyServer new_quic_conn.AcceptStream: %v ==> %v\n", stun_quic_conn.RemoteAddr(), stun_quic_conn.LocalAddr())
new_tcp_conn, err := net.Dial("tcp", addr)
if err == nil {
go stunT2QProcess1(new_tcp_conn, new_quic_stream, stun_quic_conn)
go stunQ2TProcess1(new_quic_stream, new_tcp_conn, stun_quic_conn)
continue
} else {
log.Printf(" ProcessProxyServer net.Dial: %v\n", err)
}
break
} else {
log.Printf(" ProcessProxyServer stun_quic_conn.AcceptStream: %v\n", err)
}
break
}