postman连接websocket,建立连接、聊天测试(v8.5.1)
- 手机
- 2025-08-19 07:36:02

1. postman v8.5版本 以上支持 websocket。 2. 选择websocket请求模块 File - New... 3. WebSocketServer.java import org.springframework.stereotype.Component; import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.concurrent.CopyOnWriteArraySet; /** * 访问: ws://localhost:8080/ws/{userId} */ @Component @ServerEndpoint("/ws/{userId}") public class WebSocketServer { private static int onlineCount = 0; private static CopyOnWriteArraySet<WebSocketServer> webSocketSet = new CopyOnWriteArraySet<>(); private Session session; private String userId = ""; @OnOpen public void onOpen(Session session, @PathParam("userId") String userId) { this.session = session; webSocketSet.add(this); //加入set中 addOnlineCount(); //在线数加1 this.userId = userId; sendMessage(userId + "用户" + ", 连接成功 !"); System.out.println("【websocket】" + userId + "用户" + "已连接!当前在线人数为" + getOnlineCount()); } @OnClose public void onClose() { webSocketSet.remove(this); //从set中删除 subOnlineCount(); //在线数减1 System.out.println("【websocket】" + userId + "用户" + "已关闭!当前在线人数为" + getOnlineCount()); } @OnMessage public void onMessage(String message, Session session) { if(message.startsWith("target-")){ int index = message.indexOf(":"); String userId = message.substring(7,index); sendInfo(message.substring(index + 1), userId); return; } this.session = session; sendMessage("【websocket】 服务端收到来自窗口" + userId + "发送的消息:" + message); } @OnError public void onError(Session session, Throwable error) { this.session = session; error.printStackTrace(); } private void sendMessage(String message) { try { this.session.getBasicRemote().sendText(message); } catch (IOException e) { e.printStackTrace(); } } // 群发消息 /** * 群发自定义消息 */ public static void sendInfo(@PathParam("userId") String userId, String message) { System.out.println("【websocket】 推送消息给" + userId + "用户" + ",推送内容:" + message); for (WebSocketServer item : webSocketSet) { //这里可以设定只推送给这个userId的,为null则全部推送 if (userId == null) { // item.sendMessage(message); } else if (item.userId.equals(userId)) { item.sendMessage(message); } } } public static synchronized int getOnlineCount() { return onlineCount; } public static synchronized void addOnlineCount() { WebSocketServer.onlineCount++; } public static synchronized void subOnlineCount() { WebSocketServer.onlineCount--; } public static CopyOnWriteArraySet<WebSocketServer> getWebSocketSet() { return webSocketSet; } } 4. postman请求, ws:// 开头 ws://localhost:8080/ws/{userId}
⬆️ 是发送的信息, ⬇️ 是接收到的信息
userId: 101用户连接 userId: 102用户连接 userId: 101用户给102用户发消息 userId: 102用户给101用户发消息 控制台输出: 2023-09-12 21:59:37.038 INFO 5172 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2023-09-12 21:59:37.038 INFO 5172 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2023-09-12 21:59:37.039 INFO 5172 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 【websocket】101用户已连接!当前在线人数为1 【websocket】102用户已连接!当前在线人数为2 【websocket】 推送消息到给102用户,推送内容:你好, 很高兴认识你; 我是101用户 【websocket】 推送消息到给101用户,推送内容:你好, 我也很高兴认识你; 我是102用户 postman v8.5.1版本下载 链接: pan.baidu /s/1CaXKkIFLyluLJd3KNdSlaw 提取码: dhj5postman连接websocket,建立连接、聊天测试(v8.5.1)由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“postman连接websocket,建立连接、聊天测试(v8.5.1)”