SpringCloudGateway转发WebSocket请求、以及静态路由

SpringCloudGateway转发WebSocket请求

1、WebSocket

  1. 依赖

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-websocketartifactId>
    dependency>
    
  2. 配置类 WebSocketConfig

    @Configuration
    public class WebSocketConfig {
         
        @Bean
        public ServerEndpointExporter serverEndpointExporter() {
         
            return new ServerEndpointExporter();
        }
    }
    
  3. 业务类 WebSocketServer

    @ServerEndpoint("/websocket/{username}")
    @Component
    public class WebSocketServer {
         
        /** 记录当前在线连接数,保证线程安全 */
        private static AtomicInteger onlineNum = new AtomicInteger();
        /** 存放 WebSocketServer 对象 */
        private static ConcurrentHashMap<String, Session> sessionPools = new ConcurrentHashMap<>();
    
        public void sendMessage(Session session, String message) throws IOException {
         
            session.getBasicRemote().sendText(message);
        }
        
        public void sendInfo(String userName, String message) throws IOException {
         
            Session session = sessionPools.get(userName);
            sendMessage(session, message);
        }
    
        @OnOpen
        public void 

你可能感兴趣的:(Spring,Cloud,java,html5,websocket,gateway)