关于socket通信时,客户端的Socket断开,服务器端是否能接收到断开信息?

在做毕设时发现了这个问题:

 

当客户端和服务端连接的过程中时

 

客户端主动关闭socket时,可以发现服务端对应的socket还是保持着连接

 

对于这个情况,

 

byte[] buffer = new byte[128];
			int limit = 0;
			while ((limit = bis.read(buffer)) != -1) {
				log.info("接收到数据");
				log.info("limit ---" + limit + buffer[0]);
				for (int i = 0; i < limit; i++) {
					System.out.print(" "
							+ MessageDealWithUtil.toHexString(buffer[i]));
				}
				;
				this.analyseBytes(buffer, limit);
}

 

在这里面,在这个read()方法,由原本的暂时在这,会在一会儿,跳出循环体了。

 

也就意味着,服务端的socket是在过一段时间之后才发现已经关闭的;

你可能感兴趣的:(socket)