首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >P2P专线接入

P2P专线接入
EN

Stack Overflow用户
提问于 2009-07-26 00:53:23
回答 5查看 8.2K关注 0票数 6

本主题类似于this thread

对于网络编程这个话题,我还是个新手,除了在一台本地机器上使用基本的TCP/UDP之外,我从来没有做过任何事情。现在,我正在开发一个需要P2P网络支持的应用程序。更具体地说,我需要应用程序通过互联网连接和通信,最好不要使用服务器来在客户端之间进行匹配。

我知道并假设几乎所有用户都在路由器后面,这会使过程变得复杂,因为两个客户端都不能初始化到另一个的直接连接。

我知道UPnP是一个允许端口转发而不需要用户手动配置的选项,但到目前为止,这还不是一个选项。他们有没有办法实现我的目标,或者我需要那台服务器?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-26 01:18:00

你需要一个服务器来交换IP地址等等。正如另一个线程从字面上指出的那样,保证连接的唯一方法是通过服务器代理。大多数对等系统在大多数情况下使用UPnPNAT Hole Punching (此方法需要中继端口信息的服务器,并且仅与UDP一起作用)来建立连接。

NAT Hole Punching的工作原理是:两个客户端都建立到服务器的连接,然后两个客户端都尝试直接连接到另一个已中继到另一个的端口。大多数UDP NAT会短时间地记住IP地址和端口,因此尽管数据从未到达另一端(这与UDP无关),但其他客户端将在几分钟后尝试连接到该报告,因为NAT期望得到回复。

票数 6
EN

Stack Overflow用户

发布于 2009-07-30 08:19:12

RFC 5128, "State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)"是一个非常好的读物,它只适合你:-)。

票数 6
EN

Stack Overflow用户

发布于 2009-07-26 01:05:05

使用WCF:http://msdn.microsoft.com/en-us/library/cc297274.aspx查看P2P通道

它工作得很好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1183459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档