关于局域网中连接外网,外网能否向局域网发消息?
比如在公司内部的一台电脑,ip地址是192.168.1.100,外网的电脑的ip是113.67.167.61,
外网电脑有个tcp服务器,用公司内部的一台电脑写了个客户端,去连接外网的tcp服务器,
当tcp服务器给局域网电脑回复消息的时候,也就是113.67.167.61电脑向192.168.1.100电脑
发消息,tcp服务器是怎样找到192.168.1.100这台电脑的,客户端是否要进行网卡地址转换来
通过公司外网的 ip来转发到内网呢?
[解决办法]
对你的电脑上的客户端软件来说,是透明的。
外网发到192.168.1.100对应的外网IP上面,路由器(NAT设备)再做NAT转化,变成发到内网IP 192.168.1.100。
[解决办法]
公司电脑路由因素的可能性较大,可以抓包看一下,看公司电脑在UDP通迅时是否收到UDP回应。估计服务器应该收到了UDP包只是回应时对方不能响应。
[解决办法]
另外看一下防火墙的策略
[解决办法]
公司内网的电脑向外网服务器发送数据,当服务器有来自客户端的连接时,会带有客户端的ip端口和路由信息,服务器就会根据ip路由信息回复对应客户端;
如果是udp,那么就需要双方交换心跳包来保持连接状态,udp是短暂的连接,如果在规定的时间里面双方之间没有数据交换,服务器就会丢失客户端的ip端口路由信息,
你不妨做个试验,udp客户端向udp服务器发送数据之后,sleep十分钟后,在回复客户端,看看客户端是能
收到数据...