簡體   English   中英

來自客戶端的多個線程連接到同一服務器

[英]several threads from client side connecting to same serversocket, all on localhost

我有一台帶有serverocket的服務器,還有一個也是線程的客戶端。 在主客戶端中,我創建了80個客戶端線程實例,每個實例都打開了與服務器的連接(使用套接字)。 客戶端和服務器都在同一台計算機上,並且都使用相同的本地主機和端口。 服務器端的服務器套接字僅接受與其連接的第一個線程,並為其余線程拋出異常,因為它們都來自同一IP到同一端口。 我該如何解決? 我需要80個線程連接到同一台計算機上的同一台服務器(使用相同的IP和端口)。 PS。 我也在使用多線程,因此在serversocket接受之后,它會創建並啟動一個新線程來處理客戶端的請求。 我只需要在Java中執行此操作。 我將非常感謝您的快速回復。 提前致謝。

如果您無法通過其IP和PORT唯一標識客戶端,則需要考慮其他事項。 發送數據包時添加某些生成的唯一ID會有幫助。 服務器收到客戶端的初始請求后,可以在為客戶端創建線程時設置該唯一ID。

每次都可以得到獨特的東西:

UUID.randomUUID()

來自java.util.UUID; 包裝

並且因為每個客戶端都具有相同的IP和PORT,所以我假設每個客戶端都從服務器獲得了每個響應。 因此,查看軟件包是否適用於正確客戶端的邏輯需要在客戶端上。

如果這不是您想要的,請更新您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM