我想知道如何在LAN P2P网络中实现发现功能。 我不想使用.NET 3.5 P2P库,我想自己设计它。当用户按下Connect按钮时,他在局域网中发送广播消息,通知其他同行他可用。接收线程上的其他对等体识别该消息,并且可以通过它们的意愿建立连接。 例如: 具有IP 192.168.0.101的机器1按下连接并在“255.255.255.255”发送消息“Command.Connect”以进行广播 具有IP 192.168.0.102的机器2在线程上等待Udp消息并且识别具有IP 192.168.0.102的对等体 当用户按下Disconnect时,另一个命令“Command.Disconnect”以相同的方式发送。 如果在局域网中发现同行是个好主意,你能告诉我吗?
答案 0 :(得分:1)
如果您只为简单的LAN设计它,那么您也可以考虑使用IP-Multicast而不是UDP广播。使用IP-Multicast,您的新同伴只会向感兴趣的同伴发送消息,但是在广播的情况下,即使他们没有运行您的聊天程序,您的消息也会被发送到所有计算机。但是,这两种选择都有利弊,取决于您的要求和未来的申请计划。
其次,如果您可以在系统中安装服务器,那么可以对其进行更精细的调整。您可以在点对点模型上保持聊天消息,但是当某个对等体联机时,它可以注册专用服务器并要求服务器提供其他注册对等体的列表,然后您可以直接与其他对等体进行交互。如果您打算添加身份验证等功能,这也会很有用。