【发布时间】:2017-02-05 20:53:44
【问题描述】:
这是对的吗?还是我在这里做错了什么?
这样设置超时,
client.setSoTimeout(1000); // timeout after READ_SlEEP if the socket is idle
Thread.sleep(2000);
从套接字读取
public String receive(){
inStream = telnetCreator.getInputStream(client);
int buff;
String MessageReceived ="";
try{
if (inStream.available() > 0){
buff = inStream.read();
MessageReceived += (char) buff;
System.out.println(MessageReceived);
}
}catch (Exception e){
System.out.println("MessageReceived :- "+ MessageReceived);
return MessageReceived;
}
return MessageReceived;
}
由于我将超时设置为 1000 毫秒,然后休眠 2000 毫秒,因此套接字会抛出异常,因为读取的计时器已经超时。 这很烦人。所以现在我必须在使用接收之前设置超时,然后在每次接收后清除超时?
【问题讨论】:
标签: java sockets networking connection timeout