提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
介绍不同局域网之间的通信
一、设置端口转发
以Tenda路由器为例
根据自己的路由器找到端口转映射功能
这里可以选择自己的设备(最好弄清楚自己的设备名),选择手动的话,就需要自己太填写内网ip地址
我在这里选择我的电脑,内网ip自己就确定了,(内网IP,即路由器分给自己的ip)
内网端口也就是自己应用中设置的端口号
外网端口也就是让外部客户端访问的端口号
实验如下:在电脑端建立TCP服务器
手机端发消息
上图中的端口号是路由器设置的外网端口号
IP地址是在路由器中找到的,如下图所示
找到路由器的IP地址,这个就是互联网唯一IP地址
在实验中,手机和电脑确实是连接的不同的路由器,这个没问题
但是手机连接移动数据的时候就失败了,本人猜测是因为自己连接的校园网的问题
通过使用chatgpt 的回答似乎确实是这样的问题,以下是chatgpt的回答
如果你的服务器连接的是校园网,而客户端是通过移动数据连接到互联网上的话,你可以考虑使用以下方法来发送数据:
为了能够让客户端能够访问到校园网上的服务器,你需要在校园网的防火墙上打开相应的端口。通常情况下,校园网的防火墙会默认禁止外部访问校园网上的计算机,所以你需要向校园网的管理员申请开放相应的端口。
如果你无法打开校园网的端口或者校园网的管理员不允许你这么做,那么你可以考虑使用反向代理服务器。反向代理服务器可以将外部请求转发到内部服务器上,从而实现客户端与服务器的通信。你可以将反向代理服务器部署在互联网上,同时将其与内部服务器建立连接。客户端可以直接连接到反向代理服务器,并通过它与内部服务器进行通信。
如果以上两种方法都无法满足你的需求,那么你可以考虑使用 VPN。VPN 可以创建一个安全的网络连接,使得客户端可以直接访问校园网上的服务器,就像在同一个局域网内一样。你可以向校园网的管理员申请 VPN 接入权限,并在客户端上安装相应的 VPN 客户端程序,从而实现客户端与服务器之间的通信。
这个涉及的内容就不是我这个菜鸡能够搞定的了