標籤:throw 返回 構造 port cep 監聽 oal oid 請求
在通訊雙方中,ServerSocket是伺服器端負責接收的一方,它負責監聽指定連接埠,其建構函式如下:
1、ServerSocket() throws IOException;無參建構函式,之所以存在主要是因為如果一旦建立好socket,則其選項參數將無法設定,使用該方法可以在指定連接埠號碼地址等之前先設定參數。
2、ServerSocket(int port) throws IOException;指定監聽連接埠號碼,當連接埠號碼已經被佔用或者因為某些原因連接埠號碼不允許被使用時會拋出BindException。。
3、ServerSocket(int port,int backlog) throws IOException;指定監聽的連接埠號碼和指定客戶串連請求串連隊列的長度。
4、ServerSocket(int port,int backlog,InetAddress bindAddr) throws IOException;可以指定要綁定的IP地址。
該類方法有:
public InetAddress getInetAddress():用於返回伺服器綁定的IP地址;
public int getLoalPort():該方法用於返回綁定的連接埠號碼;
該類有幾個選項可以在建立後指定:
1、SO_TIMEOUT:表示等待用戶端串連的時間,方法為 public void setSoTimeout(int timeout) throws SocketException,public int getSoTimeout() throws IOException,設定時以ms為單位,如果設定為0表示永不逾時。
2、SO_REUSEADDR:決定網路上有資料向舊的ServerSocket傳遞資料時是否允許新的ServerSocket綁定到與舊的ServerSocket同樣的連接埠上,public void setResuseAddress(boolean in) throws SocketException,public boolean getResuseAddress() throws SocketEception,但是一定要在socket綁定到連接埠之前使用該方法設定。
3、SO_RCVBUF:表示伺服器端用於接收資料的緩衝區的大小,單位為位元組,publi void setReceiveBufferSize(int size) throws SocketException,public int getReceiveBufferSize() throws SocketException,該方法在ServerSocket綁定到連接埠前後都有效,除非要設定的size大於64KB則需要先設定後綁定。
4、public void setPerformeancePreferreces(int connectionTime,int latency,int bandwidth)。
java網路編程2