我想知道如何在 LAN P2P 网络中实现发现功能。我不想使用.NET 3.5 P2P库,我想自己设计。当用户按下连接按钮的那一刻,他在局域网中发送一条广播消息,通知其他同行他可用。接收线程上的其他对等方识别该消息,并根据他们的意愿建立连接。例如:IP 为 192.168.0.101 的机器 1 按下连接并在“255.255.255.255”发送消息“Command.Connect”用于广播 IP 为 192.168.0.102 的机器 2 在线程上等待 Udp 消息并识别 IP 为 192.168 的对等点.0.102 当用户按下断开连接时,另一个命令“Command.Disconnect”以相同的方式发送。
问问题
440 次
1 回答
1
如果您只为简单的 LAN 设计它,那么您还可以考虑使用 IP 多播而不是 UDP 广播。使用 IP 多播,您的新对等方只会向感兴趣的对等方发送消息,但在广播的情况下,您的消息将被发送到所有计算机,即使它们没有运行您的聊天程序。然而,这两种选择各有利弊,具体取决于您的要求和应用程序的未来计划。
其次,如果您可以在系统中拥有一台服务器,那么它可以进行更精细的调整。您可以将聊天消息保持在对等模型上,但是当某个对等点上线时,它可以向专用服务器注册并要求服务器提供其他已注册对等点的列表,然后您可以直接与其他对等点交互。如果您打算添加身份验证等功能,这也将很有帮助。
于 2012-08-04T01:05:14.110 回答