首页新闻找找看学习计划

关于Scoket的web和winform如何连通,无需实现点对点

0
悬赏园豆:15 [已解决问题] 解决于 2016-08-12 09:47

web放在公网

 

winform是局域网(可以连接公网的)

只需要实现web指定一个winform客户端的IP和端口,即可实时发送一个内容,请问如何做?

Nemo_Li的主页 Nemo_Li | 初学一级 | 园豆:6
提问于:2014-07-03 10:18
< >
分享
最佳答案
0

页面通过 post 将 IP 端口和内容提交到服务器,服务器新建 socket 发送内容。

客户端监听的 ip 不用指定,只需要给端口号,但是客户端机器的内网 ip 需要通过路由器映射到公网 ip。

收获园豆:15
Launcher | 高人七级 |园豆:45040 | 2014-07-03 10:36

那客户端如何去连服务端的?在哪里指定IP,求个实例

“客户端机器的内网 ip 需要通过路由器映射到公网 ip。”这个的话能不能不需要去设置什么,直接winform程序中写段代码就能使用的?

Nemo_Li | 园豆:6 (初学一级) | 2014-07-03 11:12

“服务器新建 socket 发送内容”,我的服务器想使用web进行发送内容,webform可以发送“socket”吗?

Nemo_Li | 园豆:6 (初学一级) | 2014-07-03 11:17

@Nemo_Li: 我已经把实现的方式都告诉你了,看来你还是不明白。那么我想问你几个问题:

1、你学习过《计算机网络》吗?

2、会使用 Socket 编写网络程序吗?

3、知道浏览器中的页面是如何同 Web 服务器交互的吗?

Launcher | 园豆:45040 (高人七级) | 2014-07-03 11:41

@Launcher: 有点了解,刚刚看了我之前写的代码,服务端那边是使用POST进行新建一个socket,另外“客户端机器的内网 ip 需要通过路由器映射到公网 ip。”这种可以直接使用winform来吗?我有查过资料,说是NAT穿透

Nemo_Li | 园豆:6 (初学一级) | 2014-07-03 14:40

@Nemo_Li: 可以,现在的交换机,路由器都提供远程访问模型,IT 工程师通常会在终端通过命令来控制这些网络设备,因此也可以通过程序来实现。当然,你需要足够了解你的网络拓扑,以及控制命令。NAT 穿透跟上面的技术是两回事,它不能实现将内网 IP 映射到公网 IP,只是建立一个虚连接而已。

Launcher | 园豆:45040 (高人七级) | 2014-07-03 14:48

@Launcher: 但是有个问题,有些交换机或者路由器不支持端口转发,刚刚查到有个UPnP的,需要路由器支持该功能,但是由于放在局域网内的设备不一定有路由器或者可能是比较廉价的路由器没有这种功能,这样就不能进行端口映射

很奇怪QQ是如何做的

Nemo_Li | 园豆:6 (初学一级) | 2014-07-03 15:17

@Nemo_Li: 路由都有这功能,就家用的 TP Link 都可以设置,你是不是没用过电驴下载过东西? QQ 用的是 NAT 穿透技术,跟修改网络设备的设置无关。

Launcher | 园豆:45040 (高人七级) | 2014-07-03 15:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册