点对点开发[可以付现金](200分)

  • 主题发起人 主题发起人 redbase
  • 开始时间 开始时间
R

redbase

Unregistered / Unconfirmed
GUEST, unregistred user!
举例说明: <br>  我有一公网IP的机器 例 &nbsp;211.211.211.211 <br>  在公司有一局域网 通过路由连接互联网 路由地址:200.200.200.200<br> &nbsp; &nbsp;公司局域网有一机器 ip 10.3.3.3 <br> &nbsp;  在外单位有一局域网 &nbsp;通过路由连接互联网 路由地址:199.199.199.199<br> &nbsp; &nbsp;外单位有一机器 ip 192.168.0.111<br> &nbsp; &nbsp; <br> &nbsp; &nbsp;现在两个单位的局域网中的机器通过本地路由发消息到 211.211.211.211 但是 211.211.211.211的机器都无法发消息到两个单位局域网的机器。两个单位局域网的机器都无法将消息发送到对方机器。<br>  IP分析<br> &nbsp; &nbsp; 公司局域网机器 <br> &nbsp; &nbsp; &nbsp; &nbsp;10.3.3.3向211.211.211.211的 8000 端口发送消息 <br> &nbsp; &nbsp; &nbsp; 211.211.211.211获得的发送地址及端口为: &nbsp;200.200.200.200:14321<br> &nbsp; &nbsp;外单位机器<br> &nbsp; &nbsp; 192.168.0.111向211.211.211.211的8000端口发送消息 <br> &nbsp; &nbsp; &nbsp; 211.211.211.211获取的发送地址及端口为: 199.199.199.199:13321 <br> 问题:一 请问 211.211.211.211如何获取发送消息都的路由IP及端口(即:200.200.200.200:14321或 199.199.199.199:13321)<br>问题:二 请问 211.211.211.211这个机器如何向在两个单位内网的机器发消息?<br>问题:三 请问 &nbsp;两个内网中的机器如何互相向消息?<br>请给出参考源码或网址。<br>如果你有源代码可发给我,我也可以向你付费购买。注:delphi版的。<br>我的设计思路:<br> &nbsp; 公网服务器获取到在内网发送消息机器的路由IP及端口,公网机器向路由的端口发送数据,路由在转发到内网机器。<br>  公网服务器将两个内网机器的路由地址及端口发给对方。双方向对方路由端口发送数据,由对方路由中转。<br>  如双方不能互通,则由服务器中转。不知想法是否正确???
 
你的想法挺正确的啊!<br>不过,还不够周全而己.<br>实际上因为网关安全性所限.内网的机器向另一个内网的机器发UDP消息,在接收者网关觉得它是非请求的时,通常会被接收者所在的网关给过滤掉的.所以要多次发送.接收者要利用好发送者的信息.
 
如果不考虑效率和连接数量,你可以使用tcp协议连接,容易实现
 
不通,外网的机器是不能发消息给内网,除非内网机器主动去取。你需要UDP打洞连接。
 
告诉你一个简单的方法:<br>安装一个日本人发明的软件 SoftEther<br>将两个局域网的机子 和这个公网的机子 置于一个虚拟的vpn 中<br>这三台机子就可以像局域网那样方便的通信了,配置起来也很简单<br><br>网上已经有了一些这个软件的变种,都是可以选择的
 
lich根本回答的文不对题,人家又不是要组虚拟网啊
 
难道说的是如何 穿透 NAT 代理吗?<br><br>我以为能捉老鼠的猫就是好猫呢,<br>我只是提供一种可行的方法<br><br>并且很容易就可以解决楼主的问题<br>而且,还不用写代码,有现成的
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部