java本地socket服务端暴露至公网访问
Java 服务端demo环境
jdk1.8
框架:springboot+maven
开发工具:IDEA
在pom文件引入第三包封装的netty框架maven坐标
dependency>
<groupId>io.github.fzdwx</groupId>
<artifactId>sky-http-springboot-starter</artifactId>
<version>0.10.6</version>
</dependency>
截图

创建java服务端,以接口模式创建,方便外部调用
@GetMapping("/getConnect")
public void getConnect(HttpServerRequest request){
request.upgradeToWebSocket(ws -> {
ws.mountOpen(h->{
ws.send("连接成功,开始聊天吧!");
});
ws.mountText(s -> {
System.out.println(s);
//对方回复
System.out.println("客户端回复: "+s);
//获取控制台输入的值
Scanner scanner =new Scanner(System.in);
String next = scanner.next();
ws.send(next);
});
});
}
启动服务,出现以下信息表示启动成功,暴露端口默认:9999


客户端

收到服务端回复的消息,连接成功
由于以上设置的地址会随机变化,在24小时内,我们需要固定tcp公网地址(需升级专业套餐),打开官网www.cpolar.com,点击预留,然后保留tcp地址.




替换我们go客户端里的连接服务端地址即可