大家好,我是小简,今天我又大意了,在
WebSocket
这个类上踩坑了。
接下来我讲讲我踩坑的经历吧!
package cn.donglifeng.shop.socket.endpoin;
import cn.donglifeng.shop.common.context.SpringBeanContext;
import cn.donglifeng.shop.common.redis.RedisUtil;
import cn.donglifeng.shop.socket.config.WebSocketConfiguration;
import cn.donglifeng.shop.socket.util.WebSocketEndpointTool;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @author JanYork
* @date 2023/3/14 11:36
* @description WebSocket服务端点
*/
@ServerEndpoint(value = "/websocket/{uid}",configurator = WebSocketConfiguration.class)
@Component
@Slf4j
public class WebSocketEndpoint {
@Resource
public RedisUtil redisUtil;
/**
* 连接建立成功调用的方法
*
* @param session 可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
* @param uid 用户id
*/
@OnOpen
public void onOpen(Session session, @PathParam("uid") String uid) {
try {
redisUtil.socketOnline(Long.parse