完成X.224协议协商部分

This commit is contained in:
2025-03-30 13:46:55 +08:00
parent 550abb8333
commit a2d0db9e2d
2 changed files with 409 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package x224
import (
"net"
"rdp_channel/protocol/tpkt"
"testing"
)
func TestX224(t *testing.T) {
go runServer(t)
runClient(t)
}
func runServer(t *testing.T) {
listener, err := net.Listen("tcp", "127.0.0.1:3388")
if err != nil {
t.Fatal(err)
}
defer listener.Close()
for {
conn, err := listener.Accept()
if err != nil {
t.Fatal(err)
}
go func(conn net.Conn) {
defer conn.Close()
transport := tpkt.New(conn)
x224 := New(transport)
_, packet, err := x224.Read()
if err != nil {
t.Fatal(err)
}
err = x224.handleConnectionRequest(packet)
if err != nil {
t.Fatal(err)
}
}(conn)
}
}
func runClient(t *testing.T) {
conn, err := net.Dial("tcp", "127.0.0.1:3388")
if err != nil {
t.Fatal(err)
}
defer conn.Close()
transport := tpkt.New(conn)
x224 := New(transport)
err = x224.ConnectToServer()
if err != nil {
t.Fatal(err)
}
}