五、WebSocket 的 Context-Path
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。所以,路径要一一对应上。