当前位置:   article > 正文

使用WebSocket实现服务端和客户端的通信_erp软件客户端和服务端如何通信的

erp软件客户端和服务端如何通信的

开发中经常会有这样的使用场景.如某个用户在一个数据上做了xx操作, 与该数据相关的用户在线上的话,需要实时接收到一条信息.

这种可以使用WebSocket来实现. 另外,对于消息,可以定义一个类进行固化. 主要是消息内容,接收人,发送人,是否已发送等. 用户上线时, 通过方法去查询出来然后进行发送

 

  1. @ServerEndpoint(value = "/websocket/{sessionId}")
  2. public class MyWebSocket {
  3. //静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
  4. private static AtomicInteger onlineCount = new AtomicInteger(0);
  5. //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
  6. public static CopyOnWriteArraySet<MyWebSocket> webSocketSet = new CopyOnWriteArraySet<MyWebSocket>();
  7. //与某个客户端的连接会话,需要通过它来给客户端发送数据
  8. public Session session;
  9. /**
  10. * 连接建立成功调用的方法
  11. *
  12. * @param session 可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
  13. */
  14. @OnOpen
  15. public void onOpen(Session session) {
  16. this.session = session;
  17. if (webSocketSet.add(this)) {
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/884039
推荐阅读
相关标签
  

闽ICP备14008679号