我们需要实现一个Socket客户端,它应该连接到一个接受TCP连接的服务器。如果我通过netcap与服务器进行通信,我会立即得到它的响应(通过命令行)。Java通过Socket发送和接收多条消息
的工作流程是:
nc 99.0.99.84 20000
然后我发送连接请求到服务器
*99*0##
我得到的ACK响应返回
*#*1##
我送我的要求
*#18*802*86##
我得到的回应回
*#18*802*86*222241400##*#*1##
一切都是通过命令行非常快。
所以我试图用这种方式
try {
Socket socket = new Socket("99.0.99.84", 20000);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("Start");
Thread.sleep(1000);
String connectionRequest ="*99*0##";
System.out.println("Sending connection request " + connectionRequest);
out.println(connectionRequest);
String connResponse = in.readLin