可以设置SocketServer中的setSoTimeout()和Socket中的setSoTimeout()
设置SocketServer中的setSoTimeout(10000),表示服务端启动后,如果10秒内没有内请求这个服务端,超过10秒后服务端将不再处理请求。
但是Socket的setSoTimeout(10000)是什么意思呢?这个超时方法是干什么用的
setSotimeout(10000)是表示如果对方连接状态10秒没有收到数据的话强制断开客户端。
如果想要长连接的话,可以使用心跳包来通知服务器,也就是我没有发给你数据,但是我告诉你我还活着。
如果需要设置等待超时时间,此时需要使用不带参数的构造方法
Socket socket = new Socket();
SocketAddress address = new InetSocketAddress("localhost",8000);
socket.connect(address, 60000);//等待建立连接的超时时间为1分钟
//如果1分钟内连接成功,则返回socket,否则抛出SocketTimeoutException
设置SocketServer中的setSoTimeout(10000),表示服务端启动后,如果10秒内没有内请求这个服务端,超过10秒后服务端将不再处理请求。
但是Socket的setSoTimeout(10000)是什么意思呢?这个超时方法是干什么用的
setSotimeout(10000)是表示如果对方连接状态10秒没有收到数据的话强制断开客户端。
如果想要长连接的话,可以使用心跳包来通知服务器,也就是我没有发给你数据,但是我告诉你我还活着。
如果需要设置等待超时时间,此时需要使用不带参数的构造方法
Socket socket = new Socket();
SocketAddress address = new InetSocketAddress("localhost",8000);
socket.connect(address, 60000);//等待建立连接的超时时间为1分钟
//如果1分钟内连接成功,则返回socket,否则抛出SocketTimeoutException