Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于.NET框架的基本P2P聊天应用_C#_.net_Vb.net_Chat_P2p - Fatal编程技术网

C# 基于.NET框架的基本P2P聊天应用

C# 基于.NET框架的基本P2P聊天应用,c#,.net,vb.net,chat,p2p,C#,.net,Vb.net,Chat,P2p,我正在尝试在.NET framework上制作一个聊天应用程序,它将能够通过internet进行通信,而不仅通过LAN进行通信。我希望它是P2P,不需要中央服务器。我不介意它使用哪种协议(UDP、TCP等),只要我可以向几乎任何给定的IP发送消息 我只想知道如何将数据发送到我知道的另一个IP,其他什么都不知道。我到处搜索过,但代码对我来说太复杂了。(例如,我查看了torrent客户端的源代码) 谢谢你的帮助 p.S.:我听说过一种叫做UDP打孔的方法,如果这种方法会引起火花的话。你的计划有一个小

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

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

谢谢你的帮助


p.S.:我听说过一种叫做UDP打孔的方法,如果这种方法会引起火花的话。

你的计划有一个小问题

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

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

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

现在,NAT之间客户端的其他P2P通信需要更多的学习:

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


这里有一个与您寻找打孔库类似的老话题:

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

请大家注意,匿名向下投票至少提供一个单词,或者如果它不会对句子或链接造成太大伤害,那么除了-1,-2之外的任何帮助,是的,点击速度很快,但令人沮丧……为什么会被向下投票?这是对这个话题的回答。说说理由吧。再说一次,先帮忙,然后匿名投第二票,或者更确切地说是第五票或第十票,怎么样