做购买网站,网站建设交付物清单,python flask做网站,利用小程序反向做网站简介
这是一个轻量级、高性能的基于 Netty 的 WebSocket 框架#xff0c;提升你的 WebSocket 开发体验#xff0c;为 Spring Boot 带来全新的 WebSocket 功能。 该项目使你可以轻松集成 WebSocket 到你的 Spring Boot 项目中#xff0c;提供了 Tomcat WebSocket 的简单性提升你的 WebSocket 开发体验为 Spring Boot 带来全新的 WebSocket 功能。 该项目使你可以轻松集成 WebSocket 到你的 Spring Boot 项目中提供了 Tomcat WebSocket 的简单性同时享受 Netty 性能和可扩展性的优势。 项目地址
主要特点
无缝集成Spring Boot轻量级和高性能简化实时应用程序开发基于强大的Netty框架构建
在项目中添加依赖 dependencygroupIdio.github.avidbyte/groupIdartifactIdnetty-websocket-boot-starter/artifactIdversion1.0.0/version/dependency新增 websocket 服务类
Slf4j
Service
ServerEndpoint(/chat/text)
public class TextWebSocket {private static final MapString, Session CLIENTS new ConcurrentHashMap();BeforeHandshakepublic void handshake(Session session, HttpHeaders headers) {String token headers.get(token);System.out.println(token: token);}OnOpenpublic void onOpen(PathParam(username) String username, Session session) {if (!StringUtils.hasLength(username)) {log.error(username is empty);return;}log.info(username{}, username);session.setAttribute(name, username);CLIENTS.put(username, session);}OnClosepublic void onClose(Session session){String name session.getAttribute(name);CLIENTS.remove(name);session.close();}OnMessagepublic void onMessage(Session session, String message){log.info(message{}, message);String ping ping;if (ping.equals(message)) {session.sendText(pong);}}OnEventpublic void onEvent(Session session, Object evt) {if (evt instanceof IdleStateEvent) {IdleStateEvent idleStateEvent (IdleStateEvent) evt;switch (idleStateEvent.state()) {case READER_IDLE:log.info(read idle);break;case WRITER_IDLE:log.info(write idle);break;case ALL_IDLE:log.info(all idle);break;default:break;}}}OnErrorpublic void onError(Session session, Throwable error){String name session.getAttribute(name);log.error(A communication error occurred and the connection was closed {}, name);CLIENTS.remove(name);session.close();}public void sendMessageTo(String message, Session session) {session.sendText(message);}public void sendMessageAll(String message) {for (Session session : CLIENTS.values()) {session.sendText(message);}}}