基于注解的 Java WebSocket 服务如何启动?

Google 了一圈,大部分只说了如何创建,并未提及如何启动。请问,这个 ws 服务如何启动?


代码如下:


@ServerEndpoint(value = "/chat-room-channel")

public class ChatRoomChannel {

  Logger logger = LoggerFactory.getLogger(ChatRoomChannel.class);

  public static final Set<Session> SESSIONS = Collections.synchronizedSet(new HashSet<Session>());

  public static void notifyAll(String message) {

    synchronized (SESSIONS) {

      final Iterator<Session> i = SESSIONS.iterator();

      while (i.hasNext()) {

        final Session session = i.next();

        if (session.isOpen()) {

          session.getAsyncRemote().sendText(message);

        }

      }

    }

  }


  @OnOpen

  public void onConnect(final Session session){

    SESSIONS.add(session);

    HashMap<String, Object> msgMap = new HashMap<String, Object>();

    msgMap.put(Commom.TYPE, Commom.ONLINE);

    msgMap.put(Commom.MESSAGE, SESSIONS.size());

    String messgae = new JSONObject(msgMap).toString();

    logger.debug(messgae);

    notifyAll(messgae);

  }

}


人到中年有点甜
浏览 885回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java