.NET框架上的基本P2P聊天应用程序

本文关键字:P2P 聊天 应用程序 框架 NET | 更新日期: 2023-09-27 18:21:48

我正试图在.NET框架上制作一个聊天应用程序,该应用程序将能够通过互联网进行通信,而不仅仅是局域网。我希望它是P2P,因为不需要中央服务器。我不介意它使用哪种协议(UDP、TCP等),只要我可以向几乎任何给定的IP发送消息。

我只想知道如何将数据发送到我所知道的另一个IP,而不是其他。我四处搜索过,但代码对我来说太复杂了。(例如,我查看了torrent客户端的源代码)。

非常感谢您的帮助。

附言:我听说过一种称为UDP打孔的方法,如果它能点燃任何插头的话。

.NET框架上的基本P2P聊天应用程序

您的计划有一个小问题。

以服务器为中心的方法不仅是一个缓慢的中间人,而且还是一个具有已知地址的中心点,一个可以连接到海里的锚,客户端连接到服务器的静态IP/名称。

通常,用户并不关心他们在互联网上的IP地址是什么。。。

因此,服务器至少可以获得客户端列表。现在你可以使用微软、谷歌或其他公司的一些服务。

现在NAT之间客户端的其余P2P通信还有更多的学习:TCP_打孔

我建议阅读所有这些东西,然后寻找一些代码或库来做这件事

这里有一个与您寻找打孔库类似的旧主题:tcp打孔库

我在这里用java回答了类似的问题,请告诉我它是否有帮助,或者您对此有任何具体问题。基本上你需要NAT穿越,所以你会根据自己的需要找到很多不同的方法来实现这一点。甚至你也可以通过启用UPnP来简单地配置路由器来实现这一点。