2017-03-18 75 views
0

服務器可容納多少個套接字連接?我解釋一下: 我用JAVA設計一個簡單的聊天系統,我每次創建一個客戶端連接到該知道具體客戶端的套接字服務器,插座和ServerClient對象,像這樣:Socket連接數java chat

Socket socket= socketServer.accept(); 
clients.add(new Client(socket)); 

當客戶端斷開連接到服務器時,我刪除了該對象。我想如果我有一個千兆客戶端連接到服務器在這一刻,這是一個問題,還有其他方式來做到這一點,或者這是正確的方式? 感謝您的幫助

+0

不要忘記尋找答案。 [答案在這裏](http://stackoverflow.com/questions/12981957/java-serversocket-connection-limit) – DontPanic

+0

@DontPanic我想知道爲什麼50設置爲限制? –

+0

@Shadab Faiz我找不到這個問題的答案。請注意,只有在使用公共ServerSocket(int port)構造函數時,它纔會設置爲50。如果使用公共ServerSocket(int port,int backlog)構造函數,則限制將被設置爲backlog。所以可能是50是一些中間值。 – DontPanic

回答

1

我認爲這完全取決於您的系統配置(即RAM,CPU等)。根據thisthis是我發現有關。

當您正在實施聊天時,您需要實施full-duplex communication。在此期間,您可以使用服務器內存臨時存儲消息並處理其他客戶端。