List of usage examples for org.springframework.web.socket WebSocketSession getId
String getId();
From source file:org.kurento.tutorial.togglevideo.ToggleVideoHandler.java
private void processClientOffer(final WebSocketSession session, JsonObject jsonMessage) { try {/* w w w . java 2 s . co m*/ UserSession user = users.get(session.getId()); if (user == null) { log.info("Creating new user session for user"); MediaPipeline pipeline = kurento.createMediaPipeline(); user = new UserSession(); user.setMediaPipeline(pipeline); users.put(session.getId(), user); } WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(user.getMediaPipeline()).build(); webRtcEndpoint.connect(webRtcEndpoint); user.setWebRtcEndpoint(webRtcEndpoint); // 3. SDP negotiation String sdpOffer = jsonMessage.get("sdpOffer").getAsString(); String sdpAnswer = user.getWebRtcEndpoint().processOffer(sdpOffer); JsonObject response = new JsonObject(); response.addProperty("id", "processClientOfferResponse"); response.addProperty("sdpAnswer", sdpAnswer); synchronized (session) { session.sendMessage(new TextMessage(response.toString())); } // 4. Gather ICE candidates user.getWebRtcEndpoint().addIceCandidateFoundListener(event -> { JsonObject candidateMsg = new JsonObject(); candidateMsg.addProperty("id", "iceCandidate"); candidateMsg.add("candidate", JsonUtils.toJsonObject(event.getCandidate())); try { synchronized (session) { session.sendMessage(new TextMessage(candidateMsg.toString())); } } catch (IOException e) { log.error(e.getMessage()); } }); user.getWebRtcEndpoint().gatherCandidates(); } catch (Throwable t) { sendError(session, t.getMessage()); } }
From source file:com.music.web.websocket.GameHandler.java
@Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { Player player = new Player(session); players.put(session.getId(), player); }
From source file:eu.nubomedia.tutorial.repository.RepositoryHandler.java
private void start(WebSocketSession session, JsonObject jsonMessage) { // User session String sessionId = session.getId(); UserSession user = new UserSession(sessionId, repositoryClient, this); users.put(sessionId, user);/* w ww . j a va2 s .co m*/ // Media logic for recording String sdpOffer = jsonMessage.get("sdpOffer").getAsString(); String sdpAnswer = user.startRecording(session, sdpOffer); // Response message JsonObject response = new JsonObject(); response.addProperty("id", "startResponse"); response.addProperty("sdpAnswer", sdpAnswer); sendMessage(session, new TextMessage(response.toString())); }
From source file:ch.rasc.s4ws.drawboard.DrawboardWebSocketHandler.java
@Override public void handleTextMessage(WebSocketSession session, final TextMessage message) throws Exception { Event<String> event = Event.wrap(message.getPayload()); event.getHeaders().set("sessionId", session.getId()); this.eventBus.notify("incomingMessage", event); }
From source file:com.github.sshw.websocket.SSHWebSocketHandler.java
@Override public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception { log.info("websocket connection closed: {}", status.getReason()); SSHSession sshSession = sshSessionManager.sessionsByWebsocketID.get(session.getId()); if (sshSession != null) { sshSession.logout();/*from www . j a v a 2s .c o m*/ } sshSessionManager.sessionsByWebsocketID.remove(session.getId()); }
From source file:eu.nubomedia.tutorial.magicmirror.MagicMirrorHandler.java
private void onIceCandidate(WebSocketSession session, JsonObject jsonMessage) { JsonObject jsonCandidate = jsonMessage.get("candidate").getAsJsonObject(); UserSession user = users.get(session.getId()); if (user != null) { user.addCandidate(jsonCandidate); }/*w w w .j ava2 s . c o m*/ }
From source file:org.kurento.jsonrpc.internal.ws.JsonRpcWebSocketHandler.java
@Override public void afterConnectionClosed(WebSocketSession wsSession, org.springframework.web.socket.CloseStatus status) throws Exception { log.info("{} WebSocket session '{}' closed for {} (code {}, reason '{}')", label, wsSession.getId(), CloseStatusHelper.getCloseStatusType(status.getCode()), status.getCode(), status.getReason()); protocolManager.closeSessionIfTimeout(wsSession.getId(), status.getReason()); }
From source file:com.kjipo.echo.EchoWebSocketHandler.java
@Override public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { logger.debug("Closing session: {}", session); session.close(CloseStatus.SERVER_ERROR); simpleWebSocketMessageSender.removeMessageConsumer(sessionIdMessageConsumerMap.get(session.getId())); }
From source file:com.hxh.websocket.handler.WebsocketEndPoint.java
@Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { super.handleTextMessage(session, message); TextMessage returnMessage = null;//www .ja v a 2 s.co m String msg = message.getPayload(); System.out.println(" sessionid " + session.getId() + "?" + msg); if (msg.equals("getusers")) { } else { returnMessage = new TextMessage("err"); System.out.println(" sessionid " + session.getId() + "?" + msg); } session.sendMessage(returnMessage); }
From source file:org.kurento.tutorial.one2manycall.CallHandler.java
private synchronized void stop(WebSocketSession session) throws IOException { String sessionId = session.getId(); if (presenterUserSession != null && presenterUserSession.getSession().getId().equals(sessionId)) { for (UserSession viewer : viewers.values()) { JsonObject response = new JsonObject(); response.addProperty("id", "stopCommunication"); viewer.sendMessage(response); }//from w w w.j a v a 2 s . c om log.info("Releasing media pipeline"); if (pipeline != null) { pipeline.release(); } pipeline = null; presenterUserSession = null; } else if (viewers.containsKey(sessionId)) { if (viewers.get(sessionId).getWebRtcEndpoint() != null) { viewers.get(sessionId).getWebRtcEndpoint().release(); } viewers.remove(sessionId); } }