Example usage for org.springframework.web.socket WebSocketMessage getPayload

List of usage examples for org.springframework.web.socket WebSocketMessage getPayload

Introduction

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

Prototype

T getPayload();

Source Link

Document

Return the message payload (never null ).

Usage

From source file:com.songjg.websocket.handler.SystemWebSocketHandler.java

@Override
public void handleMessage(WebSocketSession wss, WebSocketMessage<?> wsm) throws Exception {
    TextMessage returnMessage = new TextMessage(wsm.getPayload() + " received at server");
    wss.sendMessage(returnMessage);//from  www . ja va 2 s . com
}

From source file:cn.sinobest.websocket.handler.SimpleClientWebSocketHandler.java

/**
 * ??//  w ww  . j  a v  a 2 s  .  c  o m
 *
 * @param webSocketSession WebSocketSession
 * @param webSocketMessage WebSocketMessage
 * @throws Exception 
 */
@Override
public void handleMessage(WebSocketSession webSocketSession, WebSocketMessage<?> webSocketMessage)
        throws Exception {
    String param = webSocketMessage.getPayload().toString();
    logger.info("handleMessage" + param);
    String result = messageService.handleMessage(param);
    logger.info("handleMessageResult" + result);
    //??
    webSocketSession.sendMessage(new TextMessage(result));
    //?
    //messageService.saveLog("handleMessage",param,webSocketSession.getRemoteAddress().getAddress().getHostAddress(),result,"");
}

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

}