[英]Client Server Relationship Confusion
就套接字連接而言,誰是客戶端以及誰是服務器只是誰接受連接(服務器)以及誰發起連接請求(客戶端)。
建立連接后,流量可以向任一方向傳輸(客戶端和服務器都可以發送和/或接收數據)。
您的主控制器是服務器。 當它上線時,它會聽你的奴隸宣布他們在線。 他們通過連接到服務器作為客戶端來完成此操作。 服務器將接受連接。
如果每個從站執行某些特殊功能,那么您應該有一條消息,客戶端可以發送到指示此功能的服務器。 如果系統正常運行需要所有從站,則需要等待所有從站發布其不同的功能。
然后,您的服務器可以向不同的客戶端發送消息或向所有客戶端廣播。 每個客戶端只能向服務器發送消息。 如果需要客戶端到客戶端的通信,您可能會在服務器中實現消息轉發。 這樣,您的客戶端無需知道其他客戶端的地址。 他們只需要知道他們的功能,這將用於將消息路由到適當的客戶端。
我基本上說你需要定義一個協議,你的節點將通過它來進行通信。 該協議將指示哪個節點將是服務器,哪個節點將是客戶端。
如果您的協議更適合於對等而不是客戶端 - 服務器,您可能需要考慮使用UDP而不是TCP。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.