[英]Questions with java socket
在Java中,我可以編寫如下代碼:
ServerSocket ss = new ServerSocket(1111);
Socket s = ss.accept();
// here s.getLocalPort() is 1111
ss.close();
// here this is ok even s is still connected with a client.
ss = new ServerSocket(s.getLocalPort());
在客戶端:
Socket s = new Socket("localhost", 1111);
// this line will throw an exception.
ServerSocket ss = new ServerSocket(s.getLocalPort());
我不明白的是,以上兩段代碼的最后一行似乎沒有區別,為什么它的工作方式有所不同? 任何信息都將受到高度贊賞,在此先感謝您。
在第一種情況下,您關閉了插座,在第二種情況下,您沒有關閉插座,因此端口仍然被占用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.