学习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系统的问题,不会是系统问题吧?!