使用websocket实现群聊(多个群)

最近一个项目中需要用到一个用户实时聊天需求:需要很多用户(在不同的房间)进行实时聊天,也就是一个简单的聊天室,这里用的是websocket实现。

这里需要对每一个连接都指定两个参数:用户的userId和所加入的房间id(roomId);

@ServerEndpoint("/community/{ro_user}")使用{ro_user}来绑定请求参数,不同的用户连接的时候就把参数加入到连接的后面。这个参数在四个方法都可以绑定到具体参数,这个呢我就只是在onopen的时候绑定一次,然后把参数信息存放到私有变量中,因为用到的是两个整型参数,所以前端使用‘-’把两个参数拼在一起,在后台只需分割成两个参数。

package cn.wzy.sport.controller;

import cn.wzy.sport.entity.User_Message;
import cn.wzy.sport.service.User_MessageService;
import lombok.extern.log4j.Log4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;

/**
 * Create by Wzy
 * on
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值