如何公网暴露IP或配置端口转发,将PC设为可远程访问的WebSocket服务器
实现跨地域访问WebSocket服务的可用方案
公网IP+路由器端口转发方案(你咨询的需求直接匹配,零额外工具成本)
该方案完全可以实现你的需求,操作步骤如下:
- 第一步确认宽带公网IP资格:在PC浏览器搜索「本机IP」获取当前公网IP,登录路由器管理后台查看WAN口IP,两个IP一致即为已分配公网IP;如果不一致可以拨打宽带运营商客服,说明需要公网IP用于个人远程设备管理,家用宽带一般都会免费开通。
- 第二步给PC配置固定局域网IP:在路由器的「DHCP静态IP分配」菜单中,绑定你PC的MAC地址和固定局域网IP,避免PC重启后IP变动导致转发规则失效。
- 第三步配置端口转发规则:在路由器管理后台找到「虚拟服务器/端口映射/端口转发」功能项,新增一条转发规则:
- 外部端口:自定义一个不常用的端口即可,示例为
9234 - 内部IP:填写你刚才给PC设置的固定局域网IP
- 内部端口:填写你C#编写的WebSocket服务实际监听的端口
- 协议类型:选择TCP,保存规则即可生效
- 外部端口:自定义一个不常用的端口即可,示例为
- 第四步修改APP请求地址:将手机APP中原有的本地WebSocket请求地址改为
ws://[你的公网IP]:[你设置的外部端口],即可实现跨地域正常访问。
补充:家用宽带的公网IP多为动态IP,会定期更新,你可以在PC上安装动态域名解析工具,将动态IP绑定到固定域名,APP直接请求绑定的域名即可,不需要每次IP变动都修改APP配置。
无公网IP替代方案
如果无法申请到公网IP,也不想折腾路由器配置,可以直接在PC上运行内网穿透工具,将本地WebSocket服务的端口映射到公网节点端口,手机APP直接请求内网穿透工具提供的公网访问地址即可,操作门槛更低,适合网络知识储备较少的用户。
提示:因为你明确说明仅个人使用且不需要高安全性,所以以上方案均没有强制要求添加鉴权逻辑,后续如果担心地址泄露被恶意触发关机,只需要在你的WebSocket服务中增加简单的请求参数校验逻辑即可。
内容的提问来源于stack exchange,提问作者Fghjkgcfxx56u
相关产品推荐
相关产品推荐

