簡體   English   中英

一台機器可以使用Java中的套接字同時充當客戶端和服務器嗎?

[英]Can one machine act as client and server at same time using socket in Java?

我的網絡由5台機器組成。 一台機器稱為領導者(服務器),另一台機器稱為跟隨者(客戶端)。 我在引導者端使用ServerSocket(使其成為服務器),在跟隨者端使用Socket使它們成為客戶端。 這種結構完美地工作。

現在,我想向上述網絡添加新的更改。 我想允許關注者(客戶)向其他關注者發送消息。 我該如何實現?

是否可以通過使每個關注者(客戶端)具有Socket(與領導者連接)和ServerSocket(連接至關注者)來實現?

我期待着您的回音。

Leader可以具有關注者列表(每個關注者可以具有唯一的ID)。 如果關注者需要將消息傳遞給另一個關注者,則需要將數據傳遞給領導者,領導者可以依次將其發布給預期的關注者,或者領導者可以將其廣播給所有關注者。 Leader可以為收到的每個連接運行不同的線程,並維護一個用於廣播的客戶端池。

Can one machine act as client and server at same time using socket in Java?

Socket = IP + port. 只要同一台計算機(本地主機)上的兩個套接字具有不同的端口,就可以。

暫無
暫無

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

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