我正在通过vpn客户端进行连接,然后我可以执行telnet,并且能够在终端上粘贴请求字符串时获得响应。
如果我正在尝试java程序,请求相同。
我可以看到使用netstat在我尝试通过java时建立了TCP连接。 TCP 10.2.2.22:1154 184.23.23.61:7565 ESTABLISHED
这是发送请求的java客户端代码。
Socket client = new Socket(serverIp, port);
OutputStream out = client.getOutputStream();
InputStream in = client.getInputStream();
String test = "TUE231363**";
StringBuffer response = new StringBuffer("response : ");
out.write(test.getBytes());
out.flush();
int c;
System.out.println("waiting for response.......>>>>>>>>>>>>>");
while ((c = in.read()) != -1) {
if (isEndOfResponse(c))
break;
System.out.print((char) c);
response.append(c);
}
client.close();
System.out.println(response.toString());
每次几分钟[5-6分钟]后,它会退出而没有任何反应。
我对网络有点新意,任何人都可以提出我所缺少的内容。
答案 0 :(得分:1)
我假设您正在远程登录到您尝试从Java连接到的相同IP地址和端口。
telnet
连接,并且您的客户端似乎连接的事实意味着服务器正在运行,并且它已在正确的IP /主机上创建绑定ServerSocket
。它甚至可能正确地调用accept
。但似乎服务器根本没有读取请求,或者它没有发送响应。
无论哪种方式,问题最有可能发生在服务器端......如果没有看到服务器端代码,我们就不会说太多了。