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 命名和值,你完全可以自己来决定,我的只是列子,只要选择器 和规则能够匹配就行。