List of usage examples for org.springframework.web.socket TextMessage TextMessage
public TextMessage(byte[] payload)
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); } } }