路由端口映射后,socket应该如何建立才能与其他网络用户相互通信

laaling laaling 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
例如PC机A本地地址为192.168.1.109,外网地址为112.xx.xx.xx

那么在路由上将端口4567绑定192.168.1.109,
端口映射之后,其他网络的用户访问112.xx.xx.xx:4567时就能直接访问PC机A,

例如PC机A架设了web服务器,那么其他网络的用户访问112.xx.xx.xx:4567时就能浏览PC机A提供的页面

可是现在的问题是,如果PC机A不是web服务器,而是一个采用socket套接字的CS服务端,那么上面的端口映射就会出现问题,

服务端的CS在建立socket时,应该绑定什么地址,
若是绑定本地地址192.168.1.109,那么会出现,客户端仍然能够访问PC机的CS服务器,但是服务器在使用socket套接字给客户端发送信息时,服务端发送成功,但是客户端并没有接收响应,(环境是服务器,客户端都在同一个路由下,但是网关不同,路由上做了设置,服务器的网关是192.168.1.1,而客户端的网关是192.168.1.2),环境有限,没有做其他的测试...
若是绑定外网地址112.xx.xx.xx,那也说不过去,毕竟这是一个不属于PC机A的地址,尝试绑定后也证实绑定不成功


那我的问题是,使用路由端口映射后,PC机A如何使用socket套接字与任意客户端(通过外网地址链接)相互通信
或者有什么方法能架设使用socket套接字的服务器
...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
laaling
网络编程 18,356 成员 64,161 内容