Skip to main content
Version: 2.3.0(Legacy)

Websocket支持

说明#

  • soul网关是支持 websocket的代理。

  • websocket支持中,使用了divide插件。

插件设置#

  • soul-admin --> 插件管理 --> divide,设置为开启。

  • 在网关的 pom.xml 文件中新增依赖

  <!--if you use http proxy start this-->   <dependency>       <groupId>org.dromara</groupId>       <artifactId>soul-spring-boot-starter-plugin-divide</artifactId>       <version>${last.version}</version>   </dependency>
   <dependency>       <groupId>org.dromara</groupId>       <artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>       <version>${last.version}</version>   </dependency>

请求路径#

  • 使用soul代理websocket的时候,其请求路径为(例子):ws://localhost:9195/?module=ws&method=/websocket&rpcType=websocket
参数详解:1.localhost:8080 是soul启动的ip和端口。2.module(必填):值是你用来匹配selector的关键3.method (参数): 你的 websocket路径,同时也用做匹配rule4.rpcType :websocket 必填,且必须为websocket
  • divide插件中选择器新增一条配置,如下

  • 在这一条选择器下新增一条 规则:

  • 总结,这个时候注意看你的路径 ws://localhost:9195/?module=ws&method=/websocket&rpcType=websocket

    它就会被你新增的选择器规则匹配,然后代理的的真实websocket地址为:127.0.0.1:8080/websocket,这样soul就进行的websocket的代理。

    你就可以进行和websocket服务进行通信了,就是这么简单。

  • 最后再说一句,module,method 命名和值,你完全可以自己来决定,我的只是列子,只要选择器 和规则能够匹配就行。