学习socket编程,从网上找的代码,出异常的代码如下:
以下是clientsocket类,在while循环中判断客户端是否中断;
@Override
public void run() {
while (true){
try {
SocketHandler.onMessage(this);
log.info("当前设备:"+this.key+" 接收到数据: <<<<<<" + this.message);
} catch (Exception e) {
e.printStackTrace();
}
if (SocketHandler.isSocketClosed(this)){
log.info("客户端已关闭,其Key值为:{}", this.getKey());
//关闭对应的服务端资源
SocketHandler.close(this);
break;
}
}
}
public static boolean isSocketClosed(ClientSocket clientSocket) {
try {
clientSocket.getSocket().sendUrgentData(1);
return false;
} catch (IOException e) {
return true;
}
}
我的操作系统是win10的,也遇到了17次异常的情况,网上都说是win7系统的问题,不会是系统问题吧?!