页面通过 post 将 IP 端口和内容提交到服务器,服务器新建 socket 发送内容。
客户端监听的 ip 不用指定,只需要给端口号,但是客户端机器的内网 ip 需要通过路由器映射到公网 ip。
那客户端如何去连服务端的?在哪里指定IP,求个实例
“客户端机器的内网 ip 需要通过路由器映射到公网 ip。”这个的话能不能不需要去设置什么,直接winform程序中写段代码就能使用的?
“服务器新建 socket 发送内容”,我的服务器想使用web进行发送内容,webform可以发送“socket”吗?
@Nemo_Li: 我已经把实现的方式都告诉你了,看来你还是不明白。那么我想问你几个问题:
1、你学习过《计算机网络》吗?
2、会使用 Socket 编写网络程序吗?
3、知道浏览器中的页面是如何同 Web 服务器交互的吗?
@Launcher: 有点了解,刚刚看了我之前写的代码,服务端那边是使用POST进行新建一个socket,另外“客户端机器的内网 ip 需要通过路由器映射到公网 ip。”这种可以直接使用winform来吗?我有查过资料,说是NAT穿透
@Nemo_Li: 可以,现在的交换机,路由器都提供远程访问模型,IT 工程师通常会在终端通过命令来控制这些网络设备,因此也可以通过程序来实现。当然,你需要足够了解你的网络拓扑,以及控制命令。NAT 穿透跟上面的技术是两回事,它不能实现将内网 IP 映射到公网 IP,只是建立一个虚连接而已。
@Launcher: 但是有个问题,有些交换机或者路由器不支持端口转发,刚刚查到有个UPnP的,需要路由器支持该功能,但是由于放在局域网内的设备不一定有路由器或者可能是比较廉价的路由器没有这种功能,这样就不能进行端口映射
很奇怪QQ是如何做的
@Nemo_Li: 路由都有这功能,就家用的 TP Link 都可以设置,你是不是没用过电驴下载过东西? QQ 用的是 NAT 穿透技术,跟修改网络设备的设置无关。