关于局域网内外电脑互相通讯的问题。
局域网内的一台电脑,已知其内网IP(即它的局域网IP)及DNS服务器的IP。请问外网的计算机怎么与这台电脑通讯?程序怎么写?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
局域网内的一台电脑,已知其内网IP(即它的局域网IP)及DNS服务器的IP。请问外网的计算机怎么与这台电脑通讯?程序怎么写?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
网关具有NAT功能,网关给内网机分配的端口不是固定的,甚至每次连接时的端口都不同。
在内外网间通讯的程序应该这样写:
1, 处于外网的终端A启动一套接字在某端口listen。
2, 内网的终端B向A发出连接请求,建立连接。
3, A和B之间可以互相通信了。
说明:A必须处于公网,不能处于局域网内。如果要在处于不同局域网内A和B间通讯,没有处于公网的另一台主机的帮助是办不到的,这涉及到P2P软件必须处理的NAT的打洞问题。如果想深入了解,可以找些讲P2P原理的资料看看。
[ 本帖最后由 vbiao 于 2006-4-30 10:41 编辑 ]
你是说,通过网关机器的外网IP及此网关给内网机分配的端口,外网机就可与这台内网机通讯?程序怎么写?另外,网关给内网机分配的端口是固定的吧, 如果不是固定的,内网机每次启动后网关给它分配的端口都会不一样,程序就没法写了,是不是?
这应该需要网关做代理才可以, 在网关机器上设置端口映射, 外网通过网关的某个端口来连接内网服务器