List of usage examples for org.springframework.web.socket WebSocketSession sendMessage
void sendMessage(WebSocketMessage<?> message) throws IOException;
From source file:fi.vtt.nubomedia.kurento.Ar3DHandler.java
private void sendError(WebSocketSession session, String message) { try {// www . j a v a 2s .co m JsonObject response = new JsonObject(); response.addProperty("id", "error"); response.addProperty("message", message); session.sendMessage(new TextMessage(response.toString())); } catch (IOException e) { log.error("Exception sending message", e); } }
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 {/*w ww.j a v a 2s . c o m*/ 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:org.kurento.tutorial.one2manycall.CallHandler.java
private synchronized void viewer(final WebSocketSession session, JsonObject jsonMessage) throws IOException { if (presenterUserSession == null || presenterUserSession.getWebRtcEndpoint() == null) { JsonObject response = new JsonObject(); response.addProperty("id", "viewerResponse"); response.addProperty("response", "rejected"); response.addProperty("message", "No active sender now. Become sender or . Try again later ..."); session.sendMessage(new TextMessage(response.toString())); } else {//from www . jav a2 s. c om if (viewers.containsKey(session.getId())) { JsonObject response = new JsonObject(); response.addProperty("id", "viewerResponse"); response.addProperty("response", "rejected"); response.addProperty("message", "You are already viewing in this session. " + "Use a different browser to add additional viewers."); session.sendMessage(new TextMessage(response.toString())); return; } UserSession viewer = new UserSession(session); viewers.put(session.getId(), viewer); WebRtcEndpoint nextWebRtc = new WebRtcEndpoint.Builder(pipeline).build(); nextWebRtc.addIceCandidateFoundListener(new EventListener<IceCandidateFoundEvent>() { @Override public void onEvent(IceCandidateFoundEvent event) { JsonObject response = new JsonObject(); response.addProperty("id", "iceCandidate"); response.add("candidate", JsonUtils.toJsonObject(event.getCandidate())); try { synchronized (session) { session.sendMessage(new TextMessage(response.toString())); } } catch (IOException e) { log.debug(e.getMessage()); } } }); viewer.setWebRtcEndpoint(nextWebRtc); presenterUserSession.getWebRtcEndpoint().connect(nextWebRtc); String sdpOffer = jsonMessage.getAsJsonPrimitive("sdpOffer").getAsString(); String sdpAnswer = nextWebRtc.processOffer(sdpOffer); JsonObject response = new JsonObject(); response.addProperty("id", "viewerResponse"); response.addProperty("response", "accepted"); response.addProperty("sdpAnswer", sdpAnswer); synchronized (session) { viewer.sendMessage(response); } nextWebRtc.gatherCandidates(); } }
From source file:com.devicehive.websockets.AbstractWebSocketHandler.java
@Override public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { logger.error("Error in session " + session.getId(), exception); JsonMessageBuilder builder;/*from w w w . ja va 2 s.co m*/ session = sessionMonitor.getSession(session.getId()); if (exception instanceof JsonParseException) { builder = JsonMessageBuilder.createErrorResponseBuilder(HttpServletResponse.SC_BAD_REQUEST, "Incorrect JSON syntax"); } else { builder = JsonMessageBuilder.createErrorResponseBuilder(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Internal server error"); } session.sendMessage(new TextMessage(GsonFactory.createGson().toJson(builder.build()))); }
From source file:com.github.mrstampy.gameboot.otp.websocket.OtpEncryptedWebSocketHandler.java
/** * Process for binary.// w w w .j a v a2 s. co m * * @param session * the session * @param msg * the msg * @throws Exception * the exception */ protected void processForBinary(WebSocketSession session, byte[] msg) throws Exception { OtpKeyRequest message = converter.fromJson(msg); if (!validateChannel(session, message)) return; Response r = processor.process(message); if (r == null || !r.isSuccess()) { log.error("Unexpected response {}, disconnecting {}", r, session); session.close(); return; } BinaryMessage bm = new BinaryMessage(converter.toJsonArray(r)); session.sendMessage(bm); log.debug("Successful send of {} to {}", message.getType(), session.getRemoteAddress()); Thread.sleep(50); session.close(CloseStatus.NORMAL); }
From source file:cn.com.inhand.devicenetworks.ap.websocket.WSDNAccessPoint.java
/** * ?Inboxlogout/*from ww w.jav a 2 s.c om*/ * * @param logout */ private void onUnkownMsg(DNMessage msg, WebSocketSession session, WSDNSession wsdnsn) throws IOException, PacketException { List list = new ArrayList(); list.add(new Parameter("result", "23009")); list.add(new Parameter("reason", "" + wsdnsn.getAssetid() + "@" + wsdnsn.getLast_msg())); DNMessage ack = new DNMessage(msg.getName(), "response", msg.getTxid(), list); session.sendMessage(new TextMessage(new String(parser.wrap(ack)))); list.clear(); wsdnsn.setSession(session); wsdnsn.setLast_msg(System.currentTimeMillis()); }
From source file:cn.com.inhand.devicenetworks.ap.websocket.WSDNAccessPoint.java
/** * ?Inbox/*from w ww . ja v a2s. c o m*/ * * @param heartBeat */ private void onHeartbeat(DNMessage heartbeat, WebSocketSession session, WSDNSession wsdnsn) throws IOException, PacketException { List list = new ArrayList(); list.add(new Parameter("result", "0")); list.add(new Parameter("reason", "" + wsdnsn.getAssetid() + "@" + wsdnsn.getLast_msg())); DNMessage ack = new DNMessage("heartbeat", "response", heartbeat.getTxid(), list); session.sendMessage(new TextMessage(new String(parser.wrap(ack)))); list.clear(); wsdnsn.setSession(session); wsdnsn.setLast_msg(System.currentTimeMillis()); wsdnsn.setAction(2); this.updateStatus(2, wsdnsn); }
From source file:org.acruxsource.sandbox.spring.jmstows.websocket.ChatHandler.java
@Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { logger.info("New incoming message: " + message.getPayload()); StringReader stringReader = new StringReader(message.getPayload()); JsonReader jsonReader = Json.createReader(stringReader); JsonObject chatMessageObject = jsonReader.readObject(); if (chatMessageObject.getJsonString("name") != null && chatMessageObject.getJsonString("message") != null) { ChatMessage chatMessage = new ChatMessage(); chatMessage.setName(chatMessageObject.getJsonString("name").getString()); chatMessage.setMessage(chatMessageObject.getJsonString("message").getString()); jmsMessageSender.sendMessage("websocket.out", chatMessage); } else {/*w w w . j a v a 2s . c o m*/ session.sendMessage(new TextMessage("Empty name or message")); } }
From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java
public void sendToGroup(WebSocketSession wss, JSONObject jsonString) { String groupid = userMap.get(wss); String mess = jsonString.toString(); System.out.println(groupid);/*from w w w . jav a2s .c om*/ for (WebSocketSession user : expUsers) { try { if (user.isOpen() && (userMap.get(user).equals(groupid))) { user.sendMessage(new TextMessage(mess)); } } catch (IOException e) { e.printStackTrace(); } } }