懒羊羊
2024-01-13 5f3a2e98c54ce815f270d149872b2b3d0d008ff0
jcdm-framework/src/main/java/com/jcdm/framework/websocket/WebSocketServer.java
@@ -6,6 +6,7 @@
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -17,7 +18,7 @@
 * @author ruoyi
 */
@Component
@ServerEndpoint("/websocket/message")
@ServerEndpoint("/websocket/message/{userId}")
public class WebSocketServer
{
    /**
@@ -32,11 +33,14 @@
    private static Semaphore socketSemaphore = new Semaphore(socketMaxOnlineCount);
    /**接收userId*/
    private String userId="";
    /**
     * 连接建立成功调用的方法
     */
    @OnOpen
    public void onOpen(Session session) throws Exception
    public void onOpen(Session session, @PathParam("userId") String userId) throws Exception
    {
        boolean semaphoreFlag = false;
        // 尝试获取信号量
@@ -51,7 +55,8 @@
        else
        {
            // 添加用户
            WebSocketUsers.put(session.getId(), session);
//            WebSocketUsers.put(session.getId(), session);
            WebSocketUsers.put(userId, session);
            LOGGER.info("\n 建立连接 - {}", session);
            LOGGER.info("\n 当前人数 - {}", WebSocketUsers.getUsers().size());
            WebSocketUsers.sendMessageToUserByText(session, "连接成功");
@@ -98,6 +103,6 @@
    public void onMessage(String message, Session session)
    {
        String msg = message.replace("你", "我").replace("吗", "");
        WebSocketUsers.sendMessageToUserByText(session, msg);
//        WebSocketUsers.sendMessageToUserByText(session, msg);
    }
}