在socket编程中希望在外网的客户端也能和服务端通信,路由器做了端口映射,请问服务端监听的ip应该填什么?是本地内网ip吗?然后客户端发送数据的目标ip又应该填什么?
测试中服务端填了内网ip,客户端的发送目标ip填了路由器wan口的ip,但是仍然不能通信,请问为什么
Socket编程想与外网通信
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 刘欣的博客 2022-08-08 15:55关注
在socket编程中希望在外网的客户端也能和服务端通信,路由器做了端口映射,请问服务端监听的ip应该填什么?是本地内网ip吗?然后客户端发送数据的目标ip又应该填什么?
回答:服务器监听的ip就是自己的本机IP地址(内网IP),客服机发送目的应该填外网IP(公网IP,WAN口IP)。 网络链路如下:服务器IP----公网IP----客服机IP。
测试中服务端填了内网ip,客户端的发送目标ip填了路由器wan口的ip,但是仍然不能通信,请问为什么?
回答:分段检查问题:
1、3个IP是否能够ping通,来验证网络物理的联通性。
2、只ping通还不行,SOCKET是基于自己的端口工作,还要测试端口是否联通,可以用telent来测试SOCKET的端口通讯是否正常。
3、 路由器和服务器做的端口映射,应该是成对的,这里容易出问题,需要重点检查一下路由器是否正确端口映射了服务器的端口。
4、注意操作系统的防护墙,可能阻挡,需要关闭。我的网络经验:1999年成功接通重庆市第一根ADSL网络,后用C#+HP-SOCKET完成了自己的聊天服务器。
我的CSDN BLOG百度: 刘欣 CSDN本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用Multisim设计汽车尾灯控制电路
- ¥100 求用matlab求解上述微分方程的程序代码
- ¥15 请问各位,如何在Jetson nano主控板的Ubuntu系统中安装PyQt5
- ¥15 MAC安装佳能LBP2900驱动的网盘提取码
- ¥400 微信停车小程序谁懂的来
- ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
- ¥15 安装ubantu过程中第一个vfat 文件挂载失败
- ¥20 GZ::CTF如何兼容一些靶机?
- ¥15 etcd集群部署问题
- ¥20 谁可以帮我一下问一下各位