github.com/kelleygo/clashcore@v1.0.2/transport/hysteria/conns/faketcp/tcp_test.go (about) 1 //go:build linux 2 // +build linux 3 4 package faketcp 5 6 import ( 7 _ "net/http/pprof" 8 ) 9 10 //const testPortStream = "127.0.0.1:3456" 11 //const testPortPacket = "127.0.0.1:3457" 12 13 const testPortStream = "127.0.0.1:3456" 14 const portServerPacket = "[::]:3457" 15 const portRemotePacket = "127.0.0.1:3457" 16 17 //func init() { 18 // startTCPServer() 19 // startTCPRawServer() 20 // go func() { 21 // log.Println(http.ListenAndServe("0.0.0.0:6060", nil)) 22 // }() 23 //} 24 // 25 //func startTCPServer() net.Listener { 26 // l, err := net.Listen("tcp", testPortStream) 27 // if err != nil { 28 // log.Panicln(err) 29 // } 30 // 31 // go func() { 32 // defer l.Close() 33 // for { 34 // conn, err := l.Accept() 35 // if err != nil { 36 // log.Println(err) 37 // return 38 // } 39 // 40 // go handleRequest(conn) 41 // } 42 // }() 43 // return l 44 //} 45 // 46 //func startTCPRawServer() *TCPConn { 47 // conn, err := Listen("tcp", portServerPacket) 48 // if err != nil { 49 // log.Panicln(err) 50 // } 51 // err = conn.SetReadBuffer(1024 * 1024) 52 // if err != nil { 53 // log.Println(err) 54 // } 55 // err = conn.SetWriteBuffer(1024 * 1024) 56 // if err != nil { 57 // log.Println(err) 58 // } 59 // 60 // go func() { 61 // defer conn.Close() 62 // buf := make([]byte, 1024) 63 // for { 64 // n, addr, err := conn.ReadFrom(buf) 65 // if err != nil { 66 // log.Println("server readfrom:", err) 67 // return 68 // } 69 // //echo 70 // n, err = conn.WriteTo(buf[:n], addr) 71 // if err != nil { 72 // log.Println("server writeTo:", err) 73 // return 74 // } 75 // } 76 // }() 77 // return conn 78 //} 79 // 80 //func handleRequest(conn net.Conn) { 81 // defer conn.Close() 82 // 83 // for { 84 // buf := make([]byte, 1024) 85 // size, err := conn.Read(buf) 86 // if err != nil { 87 // log.Println("handleRequest:", err) 88 // return 89 // } 90 // data := buf[:size] 91 // conn.Write(data) 92 // } 93 //} 94 // 95 //func TestDialTCPStream(t *testing.T) { 96 // conn, err := Dial("tcp", testPortStream) 97 // if err != nil { 98 // t.Fatal(err) 99 // } 100 // defer conn.Close() 101 // 102 // addr, err := net.ResolveTCPAddr("tcp", testPortStream) 103 // if err != nil { 104 // t.Fatal(err) 105 // } 106 // 107 // n, err := conn.WriteTo([]byte("abc"), addr) 108 // if err != nil { 109 // t.Fatal(n, err) 110 // } 111 // 112 // buf := make([]byte, 1024) 113 // if n, addr, err := conn.ReadFrom(buf); err != nil { 114 // t.Fatal(n, addr, err) 115 // } else { 116 // log.Println(string(buf[:n]), "from:", addr) 117 // } 118 //} 119 // 120 //func TestDialToTCPPacket(t *testing.T) { 121 // conn, err := Dial("tcp", portRemotePacket) 122 // if err != nil { 123 // t.Fatal(err) 124 // } 125 // defer conn.Close() 126 // 127 // addr, err := net.ResolveTCPAddr("tcp", portRemotePacket) 128 // if err != nil { 129 // t.Fatal(err) 130 // } 131 // 132 // n, err := conn.WriteTo([]byte("abc"), addr) 133 // if err != nil { 134 // t.Fatal(n, err) 135 // } 136 // log.Println("written") 137 // 138 // buf := make([]byte, 1024) 139 // log.Println("readfrom buf") 140 // if n, addr, err := conn.ReadFrom(buf); err != nil { 141 // log.Println(err) 142 // t.Fatal(n, addr, err) 143 // } else { 144 // log.Println(string(buf[:n]), "from:", addr) 145 // } 146 // 147 // log.Println("complete") 148 //} 149 // 150 //func TestSettings(t *testing.T) { 151 // conn, err := Dial("tcp", portRemotePacket) 152 // if err != nil { 153 // t.Fatal(err) 154 // } 155 // defer conn.Close() 156 // if err := conn.SetDSCP(46); err != nil { 157 // log.Fatal("SetDSCP:", err) 158 // } 159 // if err := conn.SetReadBuffer(4096); err != nil { 160 // log.Fatal("SetReaderBuffer:", err) 161 // } 162 // if err := conn.SetWriteBuffer(4096); err != nil { 163 // log.Fatal("SetWriteBuffer:", err) 164 // } 165 //} 166 // 167 //func BenchmarkEcho(b *testing.B) { 168 // conn, err := Dial("tcp", portRemotePacket) 169 // if err != nil { 170 // b.Fatal(err) 171 // } 172 // defer conn.Close() 173 // 174 // addr, err := net.ResolveTCPAddr("tcp", portRemotePacket) 175 // if err != nil { 176 // b.Fatal(err) 177 // } 178 // 179 // buf := make([]byte, 1024) 180 // b.ReportAllocs() 181 // b.SetBytes(int64(len(buf))) 182 // for i := 0; i < b.N; i++ { 183 // n, err := conn.WriteTo(buf, addr) 184 // if err != nil { 185 // b.Fatal(n, err) 186 // } 187 // 188 // if n, addr, err := conn.ReadFrom(buf); err != nil { 189 // b.Fatal(n, addr, err) 190 // } 191 // } 192 //}