客户端偶尔会出现read阻塞的情况,加上setSoTimeout后,会抛出读取超时异常,引起read阻塞的原因未查明。在捕获异常后关闭连接,重新连接后read时仍然会出现读取超时,只有重启程序后...
客户端偶尔会出现read阻塞的情况,加上setSoTimeout后,会抛出读取超时异常,引起read阻塞的原因未查明。在捕获异常后关闭连接,重新连接后read时仍然会出现读取超时,只有重启程序后才会正常,服务端未做任务处理,请问是什么原因能导致只有重启客户端程序才能read,而重新连接却不行,请高手赐教,提供解决办法,谢谢
private String sendCommand(String command) {
StringBuffer sb;
try {
out.write(command.getBytes("utf-8"));
out.flush();
byte[] b = new byte[1000];
sb = new StringBuffer();
int length = -1;
while ((length = in.read(b)) > 0) {
// 获得消息
String message = new String(b, 0, length, "UTF-8");
sb.append(message);
if (message.indexOf("") != -1) {
System.out.println("收到消息:"