gateway 整合 websocket demo

 背景: 这个websocket  因为使用的地方不多,并没有独立出一个项目,是集成在已有的服务中。

1: gateway 配置

 - id: service-test
   uri: lb:ws://service-test
   predicates:
     - Path=/ws/**
   filters:
     - StripPrefix=1

注释:

     lb:ws:            表示要转发websocket协议

     Path=/ws/**          表示请求path 是 ip:port/ws/** 请求,会转发到 id 为 service-test 的服务

    StripPrefix=1        过滤掉/ws的路径

ok 启动 gateway , 我的gateway 端口是 7002

2:  service-test 服务配置

pom.xml 添加 websocket的配置

           <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-starter-websocket</artifactId>
         </dependency>

 配置代码(这里只展示连接的代码,其他的可以看下文档)

@ServerEndpoint("/webSocket")@Componentpublic class WebSocketStart {private static Map<String, List<SessionInfo>> sessionMap = Maps.newConcurrentMap();/**     * 连接     */    @OnOpen    public void connected(Session session) {        session.getAsyncRemote().sendText("小伙子登陆成功!!!");// cacheSession(session);    }}ok 启动  service-test , 我的 service-test 端口是 8091先测试下 service-test 是否能连接成功。再来测试下 gateway

gateway 整合 websocket demo

 

相关推荐