Example usage for org.springframework.web.socket WebSocketSession getId

List of usage examples for org.springframework.web.socket WebSocketSession getId

Introduction

In this page you can find the example usage for org.springframework.web.socket WebSocketSession getId.

Prototype

String getId();

Source Link

Document

Return a unique session identifier.

Usage

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);
    }
}