ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Java-WebSocket 10 分钟上手:从零搭一个能收发消息的实时服务端

Java-WebSocket 10 分钟上手:从零搭一个能收发消息的实时服务端 Java-WebSocket 10 分钟上手从零搭一个能收发消息的实时服务端【免费下载链接】Java-WebSocketA barebones WebSocket client and server implementation written in 100% Java.项目地址: https://gitcode.com/gh_mirrors/ja/Java-WebSocket场景切入当你的聊天应用需要服务端主动向浏览器推送消息时普通 HTTP 接口就不够用了——得靠长连接。Java-WebSocket 就是干这个的一个纯 Java 写的 WebSocket 库让你十几分钟就能搭出第一个 WebSocket 服务端不用拖任何重型框架下水。为什么是它⚡ 零第三方依赖底层直接用 java.nio非阻塞 I/O通俗说就是同时伺候多个连接不卡顿不用引一堆包就能扛并发。✅ 协议覆盖全RFC 6455 标准握手 RFC 7692 压缩扩展Per-Message Deflate都实现了浏览器、App 端连上来都兼容。日志走 SLF4J 接口你项目里已有哪套日志框架就绑哪套不绑也能跑。Maven 一行引入在pom.xml加一段坐标即可dependency groupIdorg.java-websocket/groupId artifactIdJava-WebSocket/artifactId version1.6.0/version /dependencyGradle 用户在build.gradle加一行implementation org.java-websocket:Java-WebSocket:1.6.0就行。最小服务端代码15 行就能收发消息这段代码做了三件事监听 8080 端口、打印客户端 IP、回一句确认。import java.net.InetSocketAddress; import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; public class MyServer extends WebSocketServer { public MyServer(int port) { super(new InetSocketAddress(port)); } Override public void onOpen(WebSocket conn, ClientHandshake handshake) { System.out.println(conn.getRemoteSocketAddress().getAddress().getHostAddress() connected); conn.send(Connection established!); } Override public void onMessage(WebSocket conn, String message) { System.out.println(收到: message); conn.send(echo: message); } public static void main(String[] args) throws Exception { new MyServer(8080).start(); } }另外两个回调onClose/onError按需补上即可。更多玩法可以看仓库里的官方 Examples 目录src/main/example里面有 SSL、重连、分片帧等十几份可直接跑的例子。浏览器 3 行验证连接java -cp Java-WebSocket.jar:. MyServer看到控制台没有报错、端口被占用后即可。打开 Chrome按 F12 进控制台敲new WebSocket(ws://localhost:8080)成功标志控制台打印出127.0.0.1 connected同时浏览器收到服务端回的第一句Connection established!。在控制台向连接再发一条消息服务端打印收到: xxx并回echo: xxx双向通了。新手常踩的 3 个坑 ⚠️控制台刷 SLF4J 警告正常。它只是个日志门面引一个 slf4j 绑定如 slf4j-simple即可消音。端口被占换个端口或lsof -i:8080找出占用进程。Java 8 和 11 有差异没有最低要求 Java 8高版本直接跑无需改代码。现在就打开 Chrome 控制台敲那行 WebSocket 代码看到Connection established!就齐活了。【免费下载链接】Java-WebSocketA barebones WebSocket client and server implementation written in 100% Java.项目地址: https://gitcode.com/gh_mirrors/ja/Java-WebSocket创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进