2017-06-19 80 views
1

比方说,我有这样的例子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来完成此任务吗?

回答

2

您可以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应用程序的控制台。

相关问题