java – 如何以正确的方式关闭套接字?

前端之家收集整理的这篇文章主要介绍了java – 如何以正确的方式关闭套接字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个简单的TCP服务器.程序终止时如何关闭套接字?
我使用try / finally并尝试关闭套接字.但是当我退出程序时它不会运行finally块.

任何人都可以想法如何以正确的方式关闭套接字?

try {
        socket = new ServerSocket(port);
        System.out.println("Server is starting on port " + port + " ...");
    }catch (IOException e){
        System.out.println("Error on socket creation!");
    }

    Socket connectionSocket = null;
    try{
        while(true){            
            try{
                connectionSocket = socket.accept();
                Thread t =  new Thread(new ClientConnection(connectionSocket));
                t.start();
            }catch (IOException e) {
                System.out.println("Error on accept socket!");
            }
        }
    }finally{
        this.socket.close();
        System.out.println("The server is shut down!");
    }

解决方法

不需要,当程序退出时,操作系统将关闭所有TCP套接字.

猜你在找的Java相关文章