当前位置:编程学习 > JAVA >>

socket 客户端怎样在规定的时间内没有接收到服务端传来的消息连接自动关闭

如题:socket 客户端如果在规定的时间内没有接收到服务端传来的消息连接自动关闭  例如:时间是2分钟应该怎样设置两分钟后关闭和服务端的连接! --------------------编程问答-------------------- 楼主,其实你考虑的问题Socket本省已经实现了:

Socket.setSoTimeout(int timeout):设置Socket的连接的超时值,指定的以毫秒为单位的超时值。 希望楼主多看API,会有意想不到的惊喜哦!
--------------------编程问答-------------------- 代码:

        Socket socket = null;
        try
        {
            socket = new Socket(InetAddress.getLocalHost(), 8888);
            // 超时时间为2分钟
            socket.setSoTimeout(1000 * 60 * 2);

            // .....业务逻辑

        }
        catch (SocketTimeoutException e)
        {
            socket.close();
        }
--------------------编程问答-------------------- 除了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();
        }
我不太理解,这个不是设置的连接超时吗?我想要的是客户端接收服务器信息在规定的时间内没有接收到服务器的信息则客户端关闭
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,