我需要为本地网络制作基于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