/// <summary> /// Sends websocket pong message /// </summary> public sealed override void Pong(object pingMessage = null) { if (pingMessage == null) { Send(Horse.Protocols.WebSocket.PredefinedMessages.PONG); return; } WebSocketMessage ping = pingMessage as WebSocketMessage; if (ping == null) { Send(Horse.Protocols.WebSocket.PredefinedMessages.PONG); return; } WebSocketMessage pong = new WebSocketMessage(); pong.OpCode = SocketOpCode.Pong; pong.Masking = ping.Masking; if (ping.Length > 0) { pong.Content = new MemoryStream(ping.Content.ToArray()); } byte[] data = _writer.Create(pong).Result; Send(data); }
/// <summary> /// Creates web socket message from model and sends to specified client /// </summary> public static void Send <TModel>(this SocketBase socket, TModel model, IModelWriter writer) where TModel : ISerializableModel { WebSocketMessage message = new WebSocketMessage { OpCode = SocketOpCode.UTF8, Content = new MemoryStream(Encoding.UTF8.GetBytes(writer.Serialize(model))) }; socket.Send(_writer.Create(message).Result); }
/// <summary> /// Sends string websocket message /// </summary> private static bool SendInternal(IConnector <TwinoWebSocket, WebSocketMessage> connector, string message) { byte[] data = _writer.Create(WebSocketMessage.FromString(message)).Result; return(connector.Send(data)); }
public byte[] Prepare(ISerializableModel model) { return(_writer.Create(Serialize(model)).Result); }
/// <summary> /// Sends a string websocket message /// </summary> public bool Send(string message) { byte[] data = _writer.Create(message).Result; return(Send(data)); }