Example usage for org.springframework.web.socket TextMessage TextMessage

List of usage examples for org.springframework.web.socket TextMessage TextMessage

Introduction

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

Prototype

public TextMessage(byte[] payload) 

Source Link

Document

Create a new text WebSocket message from the given byte[].

Usage

From source file:org.kurento.tutorial.frame_saver.FrameSaverHandler.java

private void sendError(WebSocketSession aSession, String aMessage) {
    try {/* w  w  w .  j  a v  a 2s.c  o  m*/
        JsonObject response_obj = new JsonObject();

        response_obj.addProperty("id", "error");

        response_obj.addProperty("message", aMessage);

        String response_str = response_obj.toString();

        aSession.sendMessage(new TextMessage(response_str));
    } catch (IOException ex) {
        mLogger.error("Exception sending message", ex);
    }
}

From source file:dk.apaq.orderly.CallHandler.java

private synchronized void viewer(final WebSocketSession session, BroadcastMessage message) throws IOException {
    if (presenterUserSession == null || presenterUserSession.getWebRtcEndpoint() == null) {
        BroadcastMessageResponse response = new BroadcastMessageResponse(BroadcastMessageType.ViewerResponse,
                BroadcastMessageResponseType.Rejected,
                "No active sender now. Become sender or . Try again later ...");
        session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
    } else {//from  w  w w. ja  va2 s.c  om
        if (viewers.containsKey(session.getId())) {
            BroadcastMessageResponse response = new BroadcastMessageResponse(
                    BroadcastMessageType.ViewerResponse, BroadcastMessageResponseType.Rejected,
                    "You are already viewing in this session.");
            session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
            return;
        }
        UserSession viewer = new UserSession(session, objectMapper);
        viewers.put(session.getId(), viewer);

        WebRtcEndpoint nextWebRtc = new WebRtcEndpoint.Builder(pipeline).build();

        nextWebRtc.addOnIceCandidateListener(new EventListener<OnIceCandidateEvent>() {

            @Override
            public void onEvent(OnIceCandidateEvent event) {
                BroadcastMessageResponse response = new BroadcastMessageResponse(
                        BroadcastMessageType.IceCandidate,
                        dk.apaq.orderly.model.IceCandidate.fromOrg(event.getCandidate()));
                try {
                    synchronized (session) {
                        session.sendMessage(new TextMessage(objectMapper.writeValueAsString(response)));
                    }
                } catch (IOException e) {
                    log.debug(e.getMessage());
                }
            }
        });

        viewer.setWebRtcEndpoint(nextWebRtc);
        presenterUserSession.getWebRtcEndpoint().connect(nextWebRtc);
        String sdpOffer = message.getSdpOffer();
        String sdpAnswer = nextWebRtc.processOffer(sdpOffer);

        BroadcastMessageResponse response = new BroadcastMessageResponse(BroadcastMessageType.ViewerResponse,
                BroadcastMessageResponseType.Accepted);
        response.setSdpAnswer(sdpAnswer);

        synchronized (session) {
            viewer.sendMessage(response);
        }
        nextWebRtc.gatherCandidates();
    }
}

From source file:cz.cvut.fel.webrtc.handlers.WebHandler.java

private void presenter(WebUser user) throws IOException {
    Room room = roomManager.getRoom(user.getRoomName());

    if (!room.hasScreensharer()) {

        room.sendInformation(user, "presentationInfo");
        room.setScreensharer(user);/*from   ww w.j  ava  2  s . c  o m*/
        user.isScreensharer(true);

    } else {

        JsonObject msg = new JsonObject();
        WebSocketSession session = user.getSession();

        msg.addProperty("id", "existingPresentation");
        synchronized (session) {
            session.sendMessage(new TextMessage(msg.toString()));
        }

    }
}

From source file:org.kurento.tutorial.groupcall.UserSession.java

public void sendMessage(JsonObject message) throws IOException {
    log.debug("USER {}: Sending message {}", name, message);
    synchronized (session) {
        session.sendMessage(new TextMessage(message.toString()));
    }//from  w  w w  . ja va2 s . c  om
}

From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java

@Override
public void handleMessage(WebSocketSession wss, WebSocketMessage<?> wsm) throws Exception {
    String message = wsm.getPayload().toString();
    System.out.println("message:" + message);
    //json ?//from w  ww . ja va 2s.co m
    JSONObject jsonString = JSONObject.fromObject(message);

    //??
    if (jsonString.getString("flag").equals("arrange")) {
        String arrangeStatus = jsonString.getString("arrangeStatus");

        if (arrangeStatus.equals("true")) {
            userGroupMap.put(wss, userGroupMapPro.get(wss)); //?map
            queueingLogic(1, jsonString); //
            //endPointQueueingLogic(4,3,jsonString)
        }
    }
    //????
    if (jsonString.getString("flag").equals("experiment")) {
        //???
        if (jsonString.getString("type").equals("requestEquipment")) {
            //Id?
            String expId = jsonString.getString("expId");
            CabinetTempletDeviceInfoCDAO ctdDAO = new CabinetTempletDeviceInfoCDAO();

            //?
            Integer equipmentNumber = ctdDAO.equipmentNumber(expId);

            //??##?????(RT##SW2##SW2#SW3#PC##PC)
            String name_Str = ctdDAO.equipment(expId);

            //
            TaskInfoCDAO tcDAO = new TaskInfoCDAO();
            Integer taskNum = tcDAO.taskNum(expId);

            jsonString.put("equipmentNumber", "" + equipmentNumber);
            jsonString.put("equipmentName", name_Str);
            jsonString.put("expTaskNum", "" + taskNum);
            String mess = jsonString.toString();
            wss.sendMessage(new TextMessage(mess));
        }

        //??
        if (jsonString.getString("experimentStatus").equals("start")) {
            JSONObject ss = jsonString;

            cc++;
            if (cc == 1) {
                /*??*/
                String cabinet_num = "";
                //??##?????(RT##SW2##SW2#SW3#PC##PC)
                String expId = jsonString.getString("expId");
                CabinetTempletDeviceInfoCDAO ctdDAO = new CabinetTempletDeviceInfoCDAO();
                String name_Str = ctdDAO.equipment(expId);
                String duration = "90"; //?(90)
                long start = System.currentTimeMillis();
                ResourceAllocate resourceAllocate = new ResourceAllocate(name_Str, duration);
                if (resourceAllocate.allocate()) {
                    cabinet_num = resourceAllocate.getCabinetNum(); //?
                    String num_str = resourceAllocate.getNumStr(); //??
                    String port_str = resourceAllocate.getPortInfoStr();//??????(1@2@3@4@5@6##1@2@3@4@6##1##1@2@3@4@5@6##1@2@3@4@5@6)
                    //experimentInit.setCabinet_num(cabinet_num);   //??*/

                    //??
                    jsonString.put("type", "sendEquipment");
                    jsonString.put("equipmentName", name_Str);
                    jsonString.put("equipmentNumStr", num_str);
                    jsonString.put("equipmentPortStr", port_str);
                    jsonString.put("cabinet_num", cabinet_num);
                    sendToGroup(wss, jsonString);
                    System.out.println("?" + cabinet_num);
                    System.out.println("??" + num_str);
                    //System.out.println(port_str);
                } else {
                    System.out.println("false!");
                    System.out.println(resourceAllocate.getReturnDetail());
                }
                long end = System.currentTimeMillis();
                System.out.println("??" + (end - start) + "ms");

                //?map
                MapEquipment.put(userMap.get(wss), cabinet_num);

                jsonString.put("experimentStatus", "");

                //??

                //??
                String leftNUM_Str = "";
                String rightNUM_Str = "";
                String leftport_Str = "";
                String rightport_Str = "";
                String position = "";

                //              String expId = jsonString.getString("expId");
                ExpTopoDAO tDAO = new ExpTopoDAO();
                String para[] = { "expId", expId, "expTaskOrder", "0" };
                ExpTopo topo = (ExpTopo) tDAO.getByNProperty(para);
                //??
                if (topo == null) {
                    //??
                    ExpTopoPositionCDAO tpDAO = new ExpTopoPositionCDAO();
                    //?????
                    position = tpDAO.defaultPosition(name_Str);
                    ss.put("position", position);
                    ss.put("type", "equipConnectionInfo");
                    String mess1 = ss.toString();
                    //???
                    wss.sendMessage(new TextMessage(mess1));

                }
                //?
                else {

                    //????Id
                    ExpTopoPositionCDAO tpDAO = new ExpTopoPositionCDAO();
                    position = tpDAO.position(topo.getExpTopoId());

                    ExpConnectCDAO ctDAO = new ExpConnectCDAO();
                    String connectInfo = ctDAO.connectInfo(topo.getExpTopoId());

                    String connect[] = connectInfo.split(",");
                    //
                    leftNUM_Str = connect[0];
                    //?
                    rightNUM_Str = connect[1];
                    //?
                    leftport_Str = connect[2];
                    //??
                    rightport_Str = connect[3];

                    ss.put("position", position);
                    ss.put("leftNUM_Str", leftNUM_Str);
                    ss.put("rightNUM_Str", rightNUM_Str);
                    ss.put("leftport_Str", leftport_Str);
                    ss.put("rightport_Str", rightport_Str);

                    ss.put("type", "equipConnectionInfo");
                    String mess1 = ss.toString();
                    wss.sendMessage(new TextMessage(mess1));
                }
            }
        }

        //Jtopu???
        if (jsonString.getString("type").equals("topoedit")) {

            JSONObject ss = jsonString;

            long start = System.currentTimeMillis();
            String cabinet_NUM = MapEquipment.get(userMap.get(wss)); //?       
            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?
            System.out.println("leftNUM_Str:" + leftNUM_Str + "----rightNUM_Str:" + rightNUM_Str
                    + "----leftport_Str:" + leftport_Str + "----rightport_Str:" + rightport_Str);
            NTCEdit ntcEdit = new NTCEdit(cabinet_NUM, leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
            if (ntcEdit.edit()) {
                String connection_str = leftNUM_Str + "%%" + rightNUM_Str + "%%" + leftNUM_Str + "%%"
                        + rightport_Str;
                System.out.println(connection_str);
                jsonString.put("success", true);
            } else {
                jsonString.put("success", false);
                System.out.println("false!");
                System.out.println(ntcEdit.getReturnDetail());
            }
            long end = System.currentTimeMillis();
            System.out.println("" + (end - start) + "ms");
            String mess1 = jsonString.toString();
            wss.sendMessage(new TextMessage(mess1));

            ss.put("type", "equipConnectionInfo");
            String mess2 = ss.toString();
            String groupid = userMap.get(wss);
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid)) && (!user.equals(wss))) {
                        System.out.println(user.equals(wss));
                        user.sendMessage(new TextMessage(mess2));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //??0?
        if (jsonString.getString("type").equals("topoSaveToDatabase")) {

            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?
            String position = jsonString.getString("position"); //? XY???
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String expCaseId = jsonString.getString("expCaseId");
            String expRole = jsonString.getString("expRole");

            //?
            if (expRole.equals("stu")) {

                //
                ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                if (resultTaskId != 0) {
                    ResultTopoCDAO rtcDAO = new ResultTopoCDAO();
                    Integer resultTopoId = rtcDAO.edit(resultTaskId, leftNUM_Str);

                    if (resultTopoId != 0) {

                        //
                        ResultConnectCDAO rcCDAO = new ResultConnectCDAO();
                        boolean connectSuccess = rcCDAO.edit(resultTopoId, leftNUM_Str, rightNUM_Str,
                                leftport_Str, rightport_Str);

                        //?
                        ResultTopoPositionCDAO rtpcDAO = new ResultTopoPositionCDAO();
                        boolean positionSuccess = rtpcDAO.edit(resultTopoId, position);

                        if (connectSuccess && positionSuccess)
                            jsonString.put("success", true);
                        else
                            jsonString.put("success", false);
                    } else
                        jsonString.put("success", false);
                } else
                    jsonString.put("success", false);
            }

            //???
            else if (expRole.equals("GM")) {

                //?
                ExpTopoCDAO tcDAO = new ExpTopoCDAO();
                Integer ExpTopoId = tcDAO.edit(expId, expTaskOrder, leftNUM_Str);
                if (ExpTopoId != 0) {
                    //?
                    ExpConnectCDAO cCDAO = new ExpConnectCDAO();
                    boolean connectSuccess = cCDAO.edit(ExpTopoId, leftNUM_Str, rightNUM_Str, leftport_Str,
                            rightport_Str);

                    //??
                    ExpTopoPositionCDAO tpCDAO = new ExpTopoPositionCDAO();
                    boolean positionSuccess = tpCDAO.edit(ExpTopoId, position);

                    if (connectSuccess && positionSuccess)
                        jsonString.put("success", true);
                    else
                        jsonString.put("success", false);
                } else {
                    System.out.println("false");
                    jsonString.put("success", false);
                }
            } else
                jsonString.put("success", false);

            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }

        //?
        if (jsonString.getString("type").equals("command")) {
            JSONObject ss = jsonString;
            String equipmentNumber = jsonString.getString("inputEquipmentNumber");
            String commandDetail = jsonString.getString("content");
            String[] sourceStrArray = jsonString.getString("equipmentName").split("##");
            if (sourceStrArray[Integer.parseInt(jsonString.getString("inputEquipmentNumber"))].equals("PC")) {

                String groupid = userMap.get(wss);
                ss.put("content", "Administrator:/>" + commandDetail + "\n");
                String mess1 = ss.toString();
                for (WebSocketSession user : expUsers) {
                    try {
                        if (user.isOpen() && (userMap.get(user).equals(groupid))) {
                            user.sendMessage(new TextMessage(mess1));
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                pcCommandConfigure(equipmentNumber, commandDetail, wss);
            } else {
                FacilityCommandConfigure(equipmentNumber, commandDetail, wss);
            }
        }

        //???
        if (jsonString.getString("type").equals("communication")) {
            String groupid = userMap.get(wss);
            String mess = jsonString.toString();
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid))) {
                        user.sendMessage(new TextMessage(mess));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        //?
        if (jsonString.getString("type").equals("lock")) {
            String[] sourceStrArray = jsonString.getString("equipmentName").split("##");
            if (sourceStrArray[Integer.parseInt(jsonString.getString("inputEquipmentNumber"))].equals("PC")) {
                if (jsonString.getString("lock").equals("lock")) {
                    pcInitial(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
                if (jsonString.getString("lock").equals("unlock")) {
                    pcCancel(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
            } else {
                if (jsonString.getString("lock").equals("lock")) {
                    FacilityInitial(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
                if (jsonString.getString("lock").equals("unlock")) {
                    FacilityCancel(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
            }
            String groupid = userMap.get(wss);
            String mess = jsonString.toString();
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid) && (!user.equals(wss)))) {
                        user.sendMessage(new TextMessage(mess));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //??
        if (jsonString.getString("type").equals("saveConfigureFile")) {
            String cabinet_num = jsonString.getString("cabinet_num");
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String equipmentNumber = jsonString.getString("equipmentNumber");
            String expRole = jsonString.getString("expRole");

            boolean success = false;
            //?
            if (expRole.equals("stu")) {

                String expCaseId = jsonString.getString("expCaseId");
                ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                ExperimentSave es = new ExperimentSave(cabinet_num, expId, expTaskOrder, equipmentNumber,
                        expRole, resultTaskId);
                success = es.save();

            }
            //??
            else if (expRole.equals("GM")) {

                //??????
                ExperimentSave es = new ExperimentSave(cabinet_num, expId, expTaskOrder, equipmentNumber,
                        expRole, 0);
                success = es.save();
            } else {
                success = false;
            }

            jsonString.put("success", success);
            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }
        //ping?
        if (jsonString.getString("type").equals("pingVerify")) {

            boolean success = true;

            String cabinet_num = jsonString.getString("cabinet_num");
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String equipmentNumber = jsonString.getString("equipmentNumber");

            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?

            String expRole = jsonString.getString("expRole");

            //???ip?
            PCConfigureInfo pcInfo = new PCConfigureInfo(cabinet_num, Integer.parseInt(equipmentNumber));
            //??
            String[] pcip = pcInfo.getIpAddress();
            if (pcip[0].equals("fail"))
                //??
                success = false;
            else {
                //?
                PingVerify pv = new PingVerify(cabinet_num, Integer.parseInt(equipmentNumber));
                String verifyResult[] = pv.getVerifyResult(pcip);

                if (verifyResult[0].equals("fail"))
                    //?
                    success = false;
                else {

                    Integer VerifyId = 0;

                    if (expRole.equals("GM")) { //?
                        //??
                        ExpVerifyCDAO vcDAO = new ExpVerifyCDAO();
                        VerifyId = vcDAO.edit(expId, expTaskOrder);

                        if (VerifyId == 0)
                            //?
                            success = false;
                        else {
                            //?ping?
                            ExpVerifyPingCDAO vpCDAO = new ExpVerifyPingCDAO();
                            vpCDAO.delete(VerifyId);

                            boolean write = vpCDAO.edit(VerifyId, equipmentNumber, pcip, verifyResult,
                                    leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
                            if (write)
                                success = true;
                            else
                                success = false;
                        }
                    }

                    else if (expRole.equals("stu")) { //

                        //?ID
                        String expCaseId = jsonString.getString("expCaseId");
                        ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                        Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                        //?
                        ResultVerifyCDAO rvcDAO = new ResultVerifyCDAO();
                        VerifyId = rvcDAO.edit(resultTaskId);

                        if (VerifyId == 0)
                            //?
                            success = false;
                        else {
                            //?ping?
                            ResultVerifyPingCDAO rvpCDAO = new ResultVerifyPingCDAO();
                            rvpCDAO.delete(VerifyId);

                            boolean write = rvpCDAO.edit(VerifyId, equipmentNumber, pcip, verifyResult,
                                    leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
                            if (write)
                                success = true;
                            else
                                success = false;
                        }
                    } else
                        success = false;

                }
            }
            jsonString.put("success", success);
            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }
        //?
        if (jsonString.getString("type").equals("release")) {
            releaseEquipment(wss, jsonString);
        }
    }

}

From source file:com.visual_tools.nubomedia.nuboEarJava.NuboEarJavaHandler.java

private void getStats(WebSocketSession session) {
    try {//from   w ww  .ja v a  2s  .c o m
        Map<String, Stats> wr_stats = webRtcEndpoint.getStats();

        for (Stats s : wr_stats.values()) {

            switch (s.getType()) {
            case endpoint:
                EndpointStats end_stats = (EndpointStats) s;
                double e2eVideLatency = end_stats.getVideoE2ELatency() / 1000000;

                JsonObject response = new JsonObject();
                response.addProperty("id", "videoE2Elatency");
                response.addProperty("message", e2eVideLatency);
                sendMessage(session, new TextMessage(response.toString()));
                break;

            default:
                break;
            }
        }
    } catch (Throwable t) {
        log.error("Exception getting stats...", t);
    }
}

From source file:ch.rasc.wampspring.pubsub.PubSubReplyAnnotationTest.java

@Test
public void testPublish6() throws InterruptedException, ExecutionException, IOException {
    CompletableFutureWebSocketHandler result1 = new CompletableFutureWebSocketHandler(this.jsonFactory);
    CompletableFutureWebSocketHandler result2 = new CompletableFutureWebSocketHandler(this.jsonFactory);

    try (WebSocketSession webSocketSession1 = startWebSocketSession(result1);
            WebSocketSession webSocketSession2 = startWebSocketSession(result2)) {

        webSocketSession1//from w  w w .  j ava 2  s . c o  m
                .sendMessage(new TextMessage(new SubscribeMessage("replyTo6").toJson(this.jsonFactory)));
        webSocketSession2
                .sendMessage(new TextMessage(new SubscribeMessage("replyTo6").toJson(this.jsonFactory)));

        PublishMessage pm = new PublishMessage("incomingPublish6", "testPublish6");
        webSocketSession1.sendMessage(new TextMessage(pm.toJson(this.jsonFactory)));

        EventMessage event = null;
        try {
            event = (EventMessage) result1.getWampMessage();
            Assert.fail("call has to timeout");
        } catch (Exception e) {
            assertThat(e).isInstanceOf(TimeoutException.class);
        }
        assertThat(event).isNull();

        try {
            event = (EventMessage) result2.getWampMessage();
            Assert.fail("call has to timeout");
        } catch (Exception e) {
            assertThat(e).isInstanceOf(TimeoutException.class);
        }
        assertThat(event).isNull();
    }
}

From source file:com.visual_tools.nubomedia.nuboEarJava.NuboEarJavaHandler.java

private void error(WebSocketSession session, String message) {

    JsonObject response = new JsonObject();
    response.addProperty("id", "error");
    response.addProperty("message", message);
    sendMessage(session, new TextMessage(response.toString()));
    // 2. Release media session
    release(session);/*  w  ww .  j a  v  a 2 s  .  c  om*/
}

From source file:org.kurento.basicroom.RoomParticipant.java

private void internalSendMessage() throws InterruptedException {
    while (true) {
        try {//from  www .  j  av a  2s .c om
            String message = messages.take();
            log.debug("Sending message {} to user {}", message, RoomParticipant.this.name);
            RoomParticipant.this.session.sendMessage(new TextMessage(message));
        } catch (InterruptedException e) {
            return;
        } catch (Exception e) {
            log.warn("Exception while sending message to user '" + RoomParticipant.this.name + "'", e);
        }
    }
}