udp 穿透NAT 实现p2p(200分)

  • 主题发起人 主题发起人 idon
  • 开始时间 开始时间
I

idon

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi里 怎么用udp实现p2p 假如有主机A有公网IP 主机B C 连结到A 获得B C的外网IP和绑定端口 B和C怎么穿透NAT p2p互连
 
我没有这样的测试环境。
B,C连接到A的时候,都会有对外的ip和端口,A把B的端口和IP发给C.把C的端口和IP发给B,
然后让B使用这个端口和ip发给C试试?
 
我觉得 可能是 B->A 找出路由表1 C->A 找出路由表2,
计算公共点,计算出路由线路,最后 按此最近线路发送数据包。
 
原来搞错了,闹笑话了。

原来P2P相当与临时的端口映射。

1。 B->A 可以查询出 B 的外网IP,保存到A中
2. C->A 可以查询出 C 的外网IP,保存到A中

3. B->C的外网 建立B的临时端口映射。
4. C->B的外网 建立C的临时端口映射。

5。 B->C的外网+C的临时端口->C 接通.
6。 C->B的外网+B的临时端口->B 接通.

临时端口只允许建立连接的外网IP访问。因此可以保持安全性
 
后退
顶部