两个springboot+websocket之间的通信

本文介绍了在2020年的一个项目中,作者使用SpringBoot实现WebSocket进行服务间通信的背景和理由。通过在本地搭建服务端和客户端,实现了WebSocket的连接。尽管没有展示详细代码,但给出了基本的框架,旨在分享和帮助遇到类似问题的人。
摘要由CSDN通过智能技术生成

2020回血第8天

链接: https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket.

![Alt](https://img-blog.csdnimg.cn/20200108190004844.pngAlt

什么原因要用这样的方式实现通讯?

说来话短,项目组中有人让用,那就自己摸索着走着瞧呗!
我的浅薄的印象中,正常点逻辑想,在自己的云端服务上做一个websocket的服务,如此就有求有应的代理了;再一个在本地搭一个websocket服务,作用就是哪个用哪个本地用我的本地websocket服务咯。
嗯,由于些许原因,项目的代码,就不做展示,就给成功的框架…

SHOW TIME
> 每个图片代表一个类,每个类的解释都在图片中,方便ctrl+c /ctrl+v ,这样提升效率你我他她
服务端
//新手要注意下,下面这个注解
@Component
//@ServerEndpoint(value="/ws/commodity/{fromUserId}/{toUserId}",configurator = SpringConfigurator.class)
@ServerEndpoint(value="/web/commodity/{fromUserId}/{toUserId}")//这个{}可有可无业务需求吧
public class WebSocketServer {
   
    // 已经建立链接的对象缓存起来,也不一定非得用这个容器做容器-。-
    private static ConcurrentMap<Integer, WebSocketServer> serverMap = new ConcurrentHashMap<Integer, WebSocketServer>();
    // 当前session,嗯,做个样子,方便其他方法欣赏,借鉴
    private Session currentSession;
    @OnOpen
    public void onOpen(Session session, @PathParam("fromUserId") int fromUserId, @PathParam("toUserId") int toUserId) throws IOException {
   
        this.currentSession = session;
        serverMap.put(fromUserId, this);
    }
    @OnClose
    public void onClose(Session session, CloseReason reason) {
   
        System.out.println(reason.toString());
           //关闭链接时,删除缓存对象,要是做多个,就一个一个遍历吧,这个遍历容器删除嘛,-。-有小问题,
           //自己注意吧。
            serverMap
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值