ssl socket 为什么频繁意外断开
我建了一个基于SSLsocket通信的客户端和服务端,socket连接后没设置close。
private InputStream in;
private byte[] mDateBuf = new byte[1024];
while ((in.read(mDateBuf)) != -1) {
log.e(TAG,"socketData: " +mDateBuf );
}
log.e(TAG, “socket err”);
客户端,服务端都是这种while循环read数据,我是通过循环退出,判断socket断开的.
客户端每隔5秒会发一个心跳包,服务端会回应,可是这种长连接在我网络环境下十几分钟就会退出循环,原因是socket意外断开了,read返回值为-1,退出了循环。
我想问下,这种socket频繁断开现象正常吗?有没有解决方法?