项目中需要开发一个即时通讯功能,因此用到了websocket来实现双向通信,起初websocket接入点是在service层,因为要从页面发起请求接入,因此把接入点搬到了web层,此时启动项目后,进行连接测试时报错:

 

因为在service层时连接是正常的,所以只能是web项目的问题,花了我四个小时,一点点看web项目的各个配置文件,最终发现是在设置跨域请求时,请求的allowedOrigins没有设置为*,导致连接失败。原因是websocket通讯的建立阶段是依赖于http协议的。最初的握手阶段是http协议,握手完成后才切换到websocket协议。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐