socket 客户端怎样在规定的时间内没有接收到服务端传来的消息连接自动关闭
如题:socket 客户端如果在规定的时间内没有接收到服务端传来的消息连接自动关闭 例如:时间是2分钟应该怎样设置两分钟后关闭和服务端的连接! --------------------编程问答-------------------- 楼主,其实你考虑的问题Socket本省已经实现了:Socket.setSoTimeout(int timeout):设置Socket的连接的超时值,指定的以毫秒为单位的超时值。 希望楼主多看API,会有意想不到的惊喜哦!
--------------------编程问答-------------------- 代码:
--------------------编程问答-------------------- 除了1L说的,再补充一个方法:connect(SocketAddress endpoint, int timeout)
Socket socket = null;
try
{
socket = new Socket(InetAddress.getLocalHost(), 8888);
// 超时时间为2分钟
socket.setSoTimeout(1000 * 60 * 2);
// .....业务逻辑
}
catch (SocketTimeoutException e)
{
socket.close();
}
--------------------编程问答-------------------- Socket socket = null;
try
{
socket = new Socket(InetAddress.getLocalHost(), 8888);
// 超时时间为2分钟
socket.setSoTimeout(1000 * 60 * 2);
// .....业务逻辑
}
catch (SocketTimeoutException e)
{
socket.close();
}
我不太理解,这个不是设置的连接超时吗?我想要的是客户端接收服务器信息在规定的时间内没有接收到服务器的信息则客户端关闭
补充:Java , Java SE