我需要爲本地網絡製作基於TCP的分散式聊天應用程序。通過分散我的意思是沒有中央服務器。網絡上的每個實體都應具有服務器/客戶端體系結構。當應用程序啓動時,它應該檢查哪個用戶在線(已經運行該應用程序)。我的問題是我如何檢查?我可以通過嘗試從socket庫中通過connect()函數進行連接嗎?我是編程新手,尤其是套接字編程,所以如果提前抱歉是一個愚蠢的問題。C基於TCP的分散式聊天應用程序
-1
A
回答
0
如果您想要保持分散,您可能需要嘗試multicasting或broadcasting向網絡上的所有主機發送請求數據包,以發現您的聊天應用程序的其他實例。
Pidgin中實現了類似的東西,名稱爲Bonjour。它工作得非常好,並提供本地網絡上的聊天功能。更具體地說,它被定義爲的XMPP。
如果您正在查找代碼示例,請查看我使用多播發現本地網絡上提供特定服務的主機的其中一個項目:Headers和implementation。
1
你絕對應該研究其他分散式應用程序如何執行此操作。有很多技術。
應用程序的每個實例都應該作爲其服務器功能的一部分來跟蹤應用程序的其他實例的地址。作爲客戶端功能的一部分,每個實例都應跟蹤它可以連接的幾個實例。優先考慮已經存在了很長時間的實例。
該軟件應該包括一個長期運行並且預計通常可用的服務器列表。你可能希望包含一個DNS這樣的回退方法,任何人都願意保留一個知名服務器列表,通過知名端口提供訪問權限。回退方法也可以是IRC或HTTP。
相關問題
- 1. C#TCP聊天應用程序線程
- 2. 基於Web的聊天應用程序
- 3. 將Java TCP套接字聊天程序轉換爲.net C#TCP聊天程序
- 4. c中的基於控制檯的聊天應用程序
- 5. 簡單的TCP聊天應用程序c#
- 6. 基於UDP的聊天C
- 7. C#聊天 - TCP P2P
- 8. 使用線程處理基於java的聊天應用程序
- 9. C#中的聊天應用程序
- 10. C中的多線程TCP聊天
- 11. 最好的基於php的聊天應用程序
- 12. 基於Java的網絡聊天應用程序
- 13. 基於Java Hashtable的聊天應用程序
- 14. 基於Flex的聊天應用
- 15. objective-c音頻聊天應用程序
- 16. 聊天應用程序 - 最佳方式
- 17. C2DM推式聊天應用程序
- 18. 適用於簡單聊天應用程序的設計模式
- 19. Android聊天應用程序
- 20. JavaFX聊天應用程序
- 21. ASP.NET聊天應用程序
- 22. c中基於回合的聊天程序
- 23. .net:使用UDP或TCP創建聊天應用程序?和XMPP
- 24. C中的聊天程序
- 25. 對於iPhone的聊天應用程序的TCP/IP與Web服務
- 26. C#/ WPF中的分散式聊天功能?
- 27. 客戶端服務器tcp/ip聊天室應用程序
- 28. 基於AJAX的聊天
- 29. C#聊天程序Lidgren
- 30. 如何測試聊天在Quickblox聊天應用程序適用於iOS