| | package com.example.cosmos_serversb.resources; |
---|
| | |
---|
| | import com.example.common.LogUtils; |
---|
| | import org.springframework.stereotype.Component; |
---|
| | |
---|
| | import javax.websocket.server.ServerEndpoint; |
---|
| | import java.util.HashSet; |
---|
| |
---|
| | @Override |
---|
| | public void afterConnectionEstablished(WebSocketSession session) throws Exception { |
---|
| | sessions.add(session); |
---|
| | System.out.println("session確立しました"); |
---|
| | LogUtils.info(session.getId() + " のsession確立しました"); |
---|
| | |
---|
| | // String roomName = session.getUri().getQuery(); |
---|
| | // roomSessionPool.compute(roomName, (key, sessions) -> { |
---|
| | // if (sessions == null) { |
---|
| | // sessions = new CopyOnWriteArraySet<>(); |
---|
| |
---|
| | @Override |
---|
| | protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { |
---|
| | String strMessage = message.getPayload(); |
---|
| | System.out.println("message( " + strMessage + " )を受信しました"); |
---|
| | LogUtils.info(session.getId() + " からmessage( " +strMessage + " )を受信しました"); |
---|
| | |
---|
| | session.sendMessage(message); |
---|
| | for(WebSocketSession roomsSession : sessions){ |
---|
| | roomsSession.sendMessage(message); |
---|
| | LogUtils.info(roomsSession.getId() + " にmessage( " +strMessage + " )を送信しました"); |
---|
| | } |
---|
| | // String roomName = session.getUri().getQuery(); |
---|
| | // for (WebSocketSession roomSession : roomSessionPool.get(roomName)) { |
---|
| | // roomSession.sendMessage(message); |
---|
| |
---|
| | @Override |
---|
| | public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception { |
---|
| | sessions.remove(session); |
---|
| | System.out.println("session閉じました"); |
---|
| | LogUtils.info(session.getId() + " のsessionを閉じました"); |
---|
| | |
---|
| | // String roomName = session.getUri().getQuery(); |
---|
| | // roomSessionPool.compute(roomName, (key, sessions) -> { |
---|
| | // sessions.remove(session); |
---|
| | // if (sessions.isEmpty()) { |
---|
| |
---|
| | |