Solon v2.7.5

五、WebSocket 的 Context-Path

</> markdown

1、关于 context-path 的两种效果

添加配置即可

server.contextPath: "/test-service/" #原路径仍能访问

或者:('!' 开头。v2.6.3 后支持)

server.contextPath: "!/test-service/" #原路径不能访问

支持上是基于 ContextPathWebSocketListener 过滤处理实现的

2、如果服务端有频道转成了 Mvc 开发

服务端如果有频道转成了 Socket.D 协议,且再转成 Mvc 协议,会受 ContextPathFilter 过滤处理。在客户端发的事件,也需要加上 context-path 前缀。比如这样的配置:

server.contextPath: "!/test-service/" #原路径不能访问

客户端的调整(以 javascript 为例):

//原来
session.send("/demo", SocketD.newEntity("..."));
//要改成(加上 context-path 前缀)
session.send("/test-service/demo", SocketD.newEntity("..."));

客户端的事件,会转成后端 Mvc 的 path。所以,路径要一一对应上。