Lih*_*sak 8 websocket sockjs spring-websocket java-websocket
我想打开一个带有"webapp/socket.do"路径的websocket端口.当我使用SockJS并尝试通过代码启动调用时
var socket = new SockJS('/webapp/socket.do');
stompClient = Stomp.over(socket);
stompClient.connect({}, ...
Run Code Online (Sandbox Code Playgroud)
默认情况下,SockJS会在给定路径的末尾添加"/ info".我想知道为什么?这可以改变或预防吗?
当它与Spring MVC一起使用并且具有与DispatcherServlet类似的url模式映射时< url-pattern >*.do</url-pattern>,这将返回404错误.它被阻止是因为sockJS将"/ info"字符串添加到给定的URL.
Spring web.xml servlet映射代码:
<servlet-mapping>
<servlet-name>dispatch-servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
有谁知道sockJS在那里尝试什么,为什么?
这是SockJS协议的一部分,也是强制性的.此端点由服务器实现,并传达服务器功能,例如支持的协议.请参阅SockJS协议的相关部分.
在这种情况下,我猜你需要调整你的servlet映射,不仅适用于这个端点,还需要调整其他可能出现的请求:HTTP UPGRADE对websocket的请求,以及SockJS支持的所有其他基于HTTP的传输请求.
| 归档时间: |
|
| 查看次数: |
5461 次 |
| 最近记录: |