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仍然连接?
请输入图片描述

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

回答:

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

以上是 java的socket端和serversocket端是怎么回事? 的全部内容, 来源链接: utcz.com/p/173321.html

回到顶部