2016-12-24 42 views
0

根據ServerSocket(int port, int backlog)backlog指示隊列的最大長度。根據ServerSocket測試「積壓」問題(int port,int backlog)

我創建了一個簡單的服務器插槽,以backlog爲1使用下面的代碼ServerSocket serverSocket = new ServerSocket(8001, 1);和我的期望是,當我將嘗試使用超過1級的客戶端連接到該服務器,然後我會拒絕連接異常。

但是,當我試圖從多個客戶端連接到此服務器時,即使與3個客戶端並行連接,也都能夠與服務器通信。

我錯過了什麼嗎?

回答

0

積壓參數可以由平臺調高或調低。實際的最低積壓量在BSD 4.3中最初爲5,現在在某些平臺上更像是50甚至500。沒有API來確定實際使用的值。

+0

因此,這意味着'ServerSocket(int port,int backlog)'這個構造器實際上並不比'ServerSocket(int port)'更好,因爲'backlog' JVM不能確定可以在監聽端口? – hagrawal

+0

這意味着我所說的,'因爲'之後的部分是*非sequitur *。 – EJP