跨NAT的局域网对局域网通讯,有满意答案再送1000分(200分)

  • 主题发起人 主题发起人 mjy97
  • 开始时间 开始时间
M

mjy97

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网A中:A1-192.168.0.10,ServerA-202.103.0.111(192.168.0.1)NAT代理网关
局域网B中:B1-192.168.0.100,ServerB-201.101.0.101(192.168.0.1)NAT代理网关
外网独立服务器:C-200.100.0.222
如何实现A1到B1的直接通讯,可以通过C进行握手信息传递。
请各位提出非严格NAT和严格NAT时的解决方案,如果也能提出SOCKET5代理解决方案更好。
给出完整可行方案的,或是有可行源码的。另外一次性送上1000分。

 
本人在下面帖子里的问题也是为了这个
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=2314663

写了一个程序分析socks服务器返回信息,今天晚上找朋友实验一下,现在还没找到可用的socks代理服务器,晕死了
 
直接通讯好像不可能吧!
可以写一个程序 在 独立服务器上中转一下!
 
我也想知道,OICQ聊天时是如何通过代理服务器的。所以帮你顶一顶。希望有人回答你的问题呀!!!
 
我也查了很多资料了,基本上有些小结论:
1、非严格NAT时,通过中间服务器可传送各个局域网内机器在其代理服务器上的映射端口,采用UDP方式可实现P2P。
2、严格NAT时,可以通过RAW SOCKET重构IP包,仿中间服务的IP包欺骗各个NAT,进行P2P。
3、两端都是SOCKET5代理是,可以直连(有人整天在作这个宣传的)。但这种情况是很少的,基本上是NAT 了
 
希望大家踊跃发言,共同努力,共同进步!
 
这里有相关议题:http://www.delphibbs.com/delphibbs/dispq.asp?lid=2314663
 
谢谢mjy97提供连接!通过分析,已经基本确定socks 5的工作原理,请看我的帖子!
 
我也想知道,在不同的局域网中通过公网实现点对点通信,关注!
 
后退
顶部