public void SendMessage(RemoteSessionMessage message) { switch (message.Type) { case MessageType.Connected: Send("<script>parent.lpProcessMessage('connected');</script>"); break; case MessageType.Disconnected: Send("<script>parent.lpProcessMessage('disconnected');</script>"); break; case MessageType.PageReload: Send("<script>parent.lpProcessMessage('reload');</script>"); break; case MessageType.RemoteClipboard: Send(string.Format("<script>parent.lpProcessMessage('clipboard|{0}');</script>", message.Text.Replace(@"\", @"\\").Replace("\r", @"\r").Replace("\n", @"\n").Replace("'", @"\'"))); break; case MessageType.TerminalOutput: Send(string.Format("<script>parent.lpProcessMessage('term|{0}');</script>", message.Text.Replace(@"\", @"\\").Replace("\r", @"\r").Replace("\n", @"\n").Replace("'", @"\'"))); break; case MessageType.PrintJob: Send(string.Format("<script>parent.lpProcessMessage('printjob|{0}');</script>", message.Text)); break; } }
public void SendMessage(RemoteSessionMessage message) { if (!BinaryMode) { Send(string.Concat(message.Prefix, message.Text)); } else { Send(Encoding.UTF8.GetBytes(string.Concat(message.Prefix, message.Text))); } }
public void SendMessage(RemoteSessionMessage message) { if (!Binary) { Send(JsonConvert.SerializeObject(message)); } else { Send(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(message))); } }
public void SendMessage(RemoteSessionMessage message) { // HTML5 client(s) if (WebSockets.Count > 0) { foreach (var webSocket in WebSockets) { webSocket.SendMessage(message); } } // HTML4 client(s) foreach (List <RemoteSessionMessage> messageQueue in MessageQueues.Values) { lock (((ICollection)messageQueue).SyncRoot) { messageQueue.Add(message); } } StopWaitForImageEvent(); }
private void SendMessage(RemoteSessionMessage message) { if (WebSockets.Count > 0) { foreach (var webSocket in WebSockets) { webSocket.Send(string.Concat(message.Prefix, message.Text)); } } else { foreach (List <RemoteSessionMessage> messageQueue in MessageQueues.Values) { lock (((ICollection)messageQueue).SyncRoot) { messageQueue.Add(message); } } StopWaitForImageEvent(); } }
public void SendMessage(RemoteSessionMessage message) { // websocket client(s) if (WebSockets.Count > 0) { foreach (var webSocket in WebSockets) { webSocket.SendMessage(message); } } // event source client(s) if (EventSources.Count > 0) { foreach (var eventSource in EventSources) { eventSource.SendMessage(message); } } // long polling client(s) if (LongPollings.Count > 0) { foreach (var longPolling in LongPollings) { longPolling.SendMessage(message); } } // xhr client(s) foreach (List <RemoteSessionMessage> messageQueue in MessageQueues.Values) { lock (((ICollection)messageQueue).SyncRoot) { messageQueue.Add(message); } } StopWaitForImageEvent(); }
public void SendMessage(RemoteSessionMessage message) { // send message to client(s) foreach (var client in Clients.Values) { // websocket(s) if (client.WebSockets != null && client.WebSockets.Count > 0) { // no round robin there; send message on the first websocket down Trace.TraceInformation("Sending {0} notification on websocket, client {1}, remote session {2}", message.Type, client.Id, RemoteSession.Id); client.WebSockets[0].SendMessage(message); } // event source else if (client.EventSource != null) { Trace.TraceInformation("Sending {0} notification on event source, client {1}, remote session {2}", message.Type, client.Id, RemoteSession.Id); client.EventSource.SendMessage(message); } // long polling else if (client.LongPolling != null) { Trace.TraceInformation("Sending {0} notification on long polling, client {1}, remote session {2}", message.Type, client.Id, RemoteSession.Id); client.LongPolling.SendMessage(message); } // xhr else if (client.MessageQueue != null) { Trace.TraceInformation("Sending {0} notification on xhr, client {1}, remote session {2}", message.Type, client.Id, RemoteSession.Id); lock (((ICollection)client.MessageQueue).SyncRoot) { client.MessageQueue.Add(message); } } } StopWaitForImageEvent(); }
public void SendMessage(RemoteSessionMessage message) { Send(JsonConvert.SerializeObject(message)); }
public void SendMessage(RemoteSessionMessage message) { Send(string.Format("<script>parent.lpProcessMessage('{0}');</script>", JsonConvert.SerializeObject(message).Replace(@"\", @"\\").Replace("\r", @"\r").Replace("\n", @"\n").Replace("'", @"\'"))); }
public void SendMessage(RemoteSessionMessage message) { Send(string.Concat(message.Prefix, message.Text)); }