如何解决不在同一个WIFI下服务端客户端连接不了?

实训搞了个Java的Demo,存在服务端与客户端,大致是使用TCP让两个客户端通过服务端进行通信。在局域网中可以进行操作,但是不在同一个WIFI(局域网)下,使用其他电脑并不能连接服务器(在同一个WIFI下可以连接服务器)。请问怎么样才能让别的设备能通过外网访问我这个IP的端口?
(TCP与UDP都是)

肯定不行,否则就内网穿透了。如果一定要这样做,需要把数据中转下,比如frpc,使用方法大致如下:
首先下载并安装最新版本的 frpc 工具,官方网站:https://github.com/fatedier/frp/releases。

在云服务器上启动 frps,frps 会监听一个指定的端口,等待 frpc 客户端的连接。例如,可以通过以下命令启动 frps 并监听 7000 端口:

./frps -c ./frps.ini
在需要进行内网穿透的机器上启动 frpc,将本地服务映射到云服务器上。例如,可以通过以下命令将本地的 80 端口映射到云服务器的 6000 端口:

./frpc -c ./frpc.ini
frpc.ini 配置文件示例:

[common]
server_addr = x.x.x.x
server_port = 7000
token = your_token
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 6000
等待一段时间后,就可以通过云服务器的 IP 地址和远程映射的端口访问本地的服务了。

但我觉得没必要如此大费周折。