| | |
| | | private static Logger log; |
| | | private static final AtomicInteger OnlineCount; |
| | | private static CopyOnWriteArraySet<Session> SessionSet; |
| | | |
| | | |
| | | @PostConstruct |
| | | public void init() { |
| | | System.out.println("websocket 加载"); |
| | | // System.out.println("websocket 加载"); |
| | | } |
| | | |
| | | |
| | | @OnOpen |
| | | public void onOpen(final Session session) { |
| | | WebSocketServer.SessionSet.add(session); |
| | |
| | | WebSocketServer.log.info("有连接加入,当前连接数为:{}", (Object)cnt); |
| | | SendMessage(session, "连接成功"); |
| | | } |
| | | |
| | | |
| | | @OnClose |
| | | public void onClose(final Session session) { |
| | | WebSocketServer.SessionSet.remove(session); |
| | | final int cnt = WebSocketServer.OnlineCount.decrementAndGet(); |
| | | WebSocketServer.log.info("有连接关闭,当前连接数为:{}", (Object)cnt); |
| | | } |
| | | |
| | | |
| | | @OnMessage |
| | | public void onMessage(final String message, final Session session) { |
| | | WebSocketServer.log.info("来自客户端的消息:{}", (Object)message); |
| | | SendMessage(session, "收到消息,消息内容:" + message); |
| | | } |
| | | |
| | | |
| | | @OnError |
| | | public void onError(final Session session, final Throwable error) { |
| | | WebSocketServer.log.error("发生错误:{},Session ID: {}", (Object)error.getMessage(), (Object)session.getId()); |
| | | error.printStackTrace(); |
| | | } |
| | | |
| | | |
| | | public static void SendMessage(final Session session, final String message) { |
| | | try { |
| | | session.getBasicRemote().sendText(String.format("%s", message)); |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | public static void BroadCastInfo(final String message) throws IOException { |
| | | |
| | | for (final Session session : WebSocketServer.SessionSet) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public static void SendMessage(final String message, final String sessionId) throws IOException { |
| | | Session session = null; |
| | | |
| | |
| | | WebSocketServer.log.warn("没有找到你指定ID的会话:{}", (Object)sessionId); |
| | | } |
| | | } |
| | | |
| | | |
| | | static { |
| | | WebSocketServer.log = LoggerFactory.getLogger((Class)WebSocketServer.class); |
| | | OnlineCount = new AtomicInteger(0); |