遇到该问题的代码,请参考:spring boot Websocket(使用笔记)

当使用 getAsyncRemote 的方式,也就是异步的方式发送消息的时候,导致该问题的产生;

产生该问题的原因是什么?

看一些文章中说是因为异步调用,但没有加锁,导致一个Session正在使用中,又被另一个线程调用;

解决方法:

就是添加  synchronized 关键字;

那么这和 getBasicRemote 有什么区别呢?

也就是异步的方式不会使当前的线程阻塞,导致不能响应其它事件吧。

 

 

 


本文转载:CSDN博客