要测试服务器套接字连接,我如何直接向它发送一个或多个字节?
问题描述:
比方说,我有这样的例子Java代码运行的监听端口1234:要测试服务器套接字连接,我如何直接向它发送一个或多个字节?
ServerSocket socket = new ServerSocket(1234);
和交换机收到的第一个字节:
Socket s = socket.accept();
byte[] buffer = new byte[1];
BufferedInputStream bis = new BufferedInputStream(s.getInputStream());
int read = bis.read(buffer, 0, 1);
switch (buffer[0]) {
case 0x01:
System.out.println("One.");
break;
case 0x02:
System.out.println("Two.");
break;
default:
System.out.println("Other.");
break;
}
有没有办法从外部测试该代码资源?例如,我可以使用Telnet或NetCat来完成此任务吗?
答
您可以NetCat的做这样的:
echo -e '\x02' | nc 127.0.0.1 1234
这将导致 “二”。输出到Java应用程序的控制台。
您可以的Telnet像这样(的Telnet将只是给你输入的每个为一个ASCII字节键,如果你想发送的字节比分型人物少,你可以按住Ctrl键向下从减去64做ASCII值):
telnet 127.0.0.1 1234
然后按Ctrl+B
发送0×02(B是ASCII值66,所以在按住Ctrl减去64从值)。这会造成“两个”。输出到Java应用程序的控制台。