ServerSocket的學習總結

2021-08-29 21:16:39 字數 1707 閱讀 6291

此類的構造方法有:

1、serversocket() 建立非繫結伺服器套接字。

此空的建構函式建立了乙個沒有繫結到任何埠的serversocket。之所以會這樣,是因為有許多的設定項在繫結了埠之後就沒法使用了。如果先建立沒有繫結任何埠的連線,然後使用

bind(socketaddress endpoint)

將 serversocket 繫結到特定位址(ip 位址和埠號)。

bind(socketaddress endpoint, int backlog)

將 serversocket 繫結到特定位址(ip 位址和埠號)。

2、serversocket(int port)  建立繫結到特定埠的伺服器套接字。

3、serversocket(int port, int backlog)

指定監聽的特定埠,並且指定serversocket的最大連線數。

4、serversocket(int port, int backlog, inetaddress bindaddr)

使用指定的埠、偵聽 backlog 和要繫結到的本地 ip 位址建立伺服器。

對於多網絡卡的伺服器,可以指定當前的serversocket繫結到哪個ip上面。

方法摘要:

accept() 偵聽並接受到此套接字的連線。

socket socket = serversocket.accept();這樣就可以建立針對客戶端的位元組流來讀取客戶端的資料。

getinetaddress() 返回此伺服器套接字的本地位址。       

int getlocalport()  返回此套接字在其上偵聽的埠。        

socketaddress getlocalsocketaddress() 返回此套接字繫結的端點的位址,如果尚未繫結則返回 null。 

void setreuseaddress(boolean on) 啟用/禁用 so_reuseaddr 套接字選項。

此方法引數為true,false。如果網路上有資料依舊向舊的serversocket傳送資料,那麼是否允許重啟的serversocket立即使用舊serversocket的埠。如果設定為false,那麼重啟的serversocket就會報出bindexception異常。

void setsotimeout(int timeout) 啟用/禁用帶有指定超時值的 so_timeout,以毫秒為單位。

void setreceivebuffersize(int size) 為從此 serversocket 接受的套接字的 so_rcvbuf 選項設定預設建議值。  

int getreceivebuffersize()

獲取此 serversocket 的 so_rcvbuf 選項的值,該值是將用於從此 serversocket 接受的套接字的建議緩衝區大小。

boolean getreuseaddress() 測試是否啟用 so_reuseaddr。  

int getsotimeout() 重新恢復 so_timeout 的設定。  

boolean isbound() 返回 serversocket 的繫結狀態。     

boolean isclosed() 返回 serversocket 的關閉狀態。    

string tostring() 作為 string 返回此套接字的實現位址和實現埠。

還有其他幾個方法,以後了解,上面是常用的。

ServerSocket學習筆記

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

ServerSocket和Socket的實際應用

客戶端由三個類構成,既然是聊天室,單獨用乙個類去建立視窗,另外乙個類處理網路通訊,再單獨弄乙個登陸的視窗總之就是,盡量做到乙個類只去處理一件事情或者一類事情。通訊類public class socketdemo extends thread 判斷客戶機是否與伺服器連線上,用布林型做標記,置於視窗類中...

Socket和ServerSocket學習筆記

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