ServerSocket通過構造方法繫結埠

2021-05-25 09:03:03 字數 930 閱讀 8224

通過構造方法繫結埠是建立serversocket物件最常用的方式:

public serversocket(int port) throws ioexception 

如果port引數所指定的埠已經被繫結,構造方法就會丟擲ioexception異常,但實際上丟擲的異常是bindexception。因為和網路有關的異常都是ioexception類的子類,為了serversocket構造方法還可以丟擲其他的異常,就使用了ioexception。

如果port的值為0,系統就會隨機選取乙個埠號,但隨機選取的埠意義不大,因為客戶端在連線伺服器時需要明確知道服務端程式的埠號。可以通過serversocket的tostring方法輸出和serversocket物件相關的資訊。

serversocket serversocket = new serversocket(1320);

system.out.println(serversocket); 

執行結果:

serversocket[addr=0.0.0.0/0.0.0.0,port=0,localport=1320] 

addr是服務端繫結的ip位址,如果未繫結ip位址,這個值是0.0.0.0,在這種情況下,serversocket物件將監聽服務端所有網路介面的所有ip位址;port永遠是0;localport是serversocket繫結的埠,如果引數port值為0,localport是乙個隨機選取的埠號。

在作業系統中規定1 ~ 1023為系統使用的埠號。埠號的最小值是1,最大值是65535。在windows中使用者編寫的程式可以繫結埠號小於1024的埠,但在linux/unix下必須使用root登入才可以繫結小於1024的埠。

判斷本機開啟了哪些埠:基本原理是用serversocket來繫結本機的埠,如果繫結某個埠時丟擲bindexception異常,就說明這個埠已經開啟,反之則這個埠未開啟。

ServerSocket學習筆記

public classserversocketextends object 此類實現伺服器套接字。伺服器套接字等待請求通過網路傳入。它基於該請求執行某些操作,然後可能向請求者返回結果。伺服器套接字的實際工作由socketimpl類的例項執行。應用程式可以更改建立套接字實現的套接字工廠來配置它自身,...

Socket和ServerSocket學習筆記

對於即時類應用或者即時類的遊戲,http協議很多時候無法滿足於我們的需求。這會,socket對於我們來說就非常實用了。下面是本次學習的筆記。主要分異常型別 互動原理 socket serversocket 多執行緒這幾個方面闡述。異常型別 在了解socket的內容之前,先要了解一下涉及到的一些異常型...

Socket和ServerSocket學習筆記

對於即時類應用或者即時類的遊戲,http協議很多時候無法滿足於我們的需求。這會,socket對於我們來說就非常實用了。下面是本次學習的筆記。主要分異常型別 互動原理 socket serversocket 多執行緒這幾個方面闡述。異常型別 在了解socket的內容之前,先要了解一下涉及到的一些異常型...