开发工具:IntelliJ IDEA
JDK:1.8
spring-boot:2.6.0(事例使用,可根据自己版本调整)
maven:3.6.3
项目结构 结构介绍org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-websocketorg.projectlombok lombokcom.alibaba fastjson1.2.49
一、websocket服务注册到spring容器
@Configuration public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } } 二、开放服务节点 @Slf4j @Component @ServerEndpoint("/socket/server/{clientId}") public class SocketServer { private Logger logger = LoggerFactory.getLogger(SocketServer.class); @OnOpen public void onOpen(@PathParam("clientId") String clientId, Session session) throws IOException { logger.info("客户端{},上线。", clientId); session.getBasicRemote().sendText("欢迎上线。"); } @OnClose public void onClose(@PathParam("clientId") String clientId) { logger.info("客户端{},离线。", clientId); } @OnError public void onError(@PathParam("clientId") String clientId, Throwable throwable) { logger.info("客户端{},异常及异常原因:{}。", clientId, throwable); } @OnMessage public void handler(String receiveMessage, Session session) { //接收消息 logger.info("客户端发送消息内容:{}。", receiveMessage); try { session.getBasicRemote().sendText("收到:" + receiveMessage); } catch (IOException e) { e.printStackTrace(); } } }测试
测试地址:http://coolaf.com/tool/chattest
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)