问题描述
- 关于p2p软件的穿墙问题
-
马上上手一个p2p的软件项目,因为没什么经验,有个问题想不明白:
如果两个终端都在内网环境,可以实现点到点的直连么?可以的话什么原理?
我理解的socket的原理,总要要有一方来监听另一方的连接请求。但如果这个监听方本身就在内网,如何把自己的socket通知到对方(或者p2p服务器)呢?
解决方案
看一下这篇文章:http://www.brynosaurus.com/pub/net/p2pnat/
这是篇比较详细的介绍UDP hole punching的文章。
解决方案二:
不可以,需要外网有一个服务器,因为没办法主动连内网。
即便是打洞,也是两边内网各自先连接服务器,然后服务器再让两边连接。
解决方案三:
通过公网服务器,双方都连接到服务器,通过服务器交换各自的ip端口等信息,然后再建立连接,这样可以做到NAT穿透。
解决方案四:
P2P软件有哪些?
时间: 2025-01-27 04:35:44