java網絡編程2。本站提示廣大學習愛好者:(java網絡編程2)文章只能為提供參考,不一定能成為您想要的結果。以下是java網絡編程2正文
在通訊單方中,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)。