开发者社区> 问答> 正文

java的socket端和serversocket端是怎么回事?报错

"

我看书上说如何判断socket端是否连接, 自己试了一下, 但是结果没看明白

socket端代码:

    public static void main(String args[])throws Exception
    {
        System.out.println("客户端") ;
        Socket socket = new Socket("localhost" , 8000) ;
        Thread.sleep(10000) ;
        System.out.println(socket.isConnected() + "\t" + !socket.isClosed()) ;
    }

serversocket端代码

    public static void main(String args[])throws Exception
    {
        System.out.println("服务端") ;
        ServerSocket serversocket = new ServerSocket(8000) ;
        Socket s = serversocket.accept() ;
    }

但是结果我不明白,为什么serversocket的程序已经退出了,而socket的程序却显示socket仍然连接?

谁能给我讲一下啊?怎么想也想不通

"

展开
收起
因为相信,所以看见。 2020-05-27 10:03:01 986 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    serversocket 中,你说的程序退出,仅仅是main线程退出了,而socket线程并没有退出,因为你并没有做出socket连接后,处理完业务,将socket关闭。

    2020-05-27 17:34:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载