protected override async Task SendAsync(WampMessage <object> message) { using (WebSocketMessageWriteStream stream = mWebsocket.CreateMessageWriter(WebSocketMessageType.Binary)) { byte[] raw = mBinding.Format(message); await stream.WriteAsync(raw, 0, raw.Length).ConfigureAwait(false); } }
protected override Task SendAsync(WampMessage <object> message) { var task = new Task(() => { var msg = new NetMQMessage(); if (_socket is RouterSocket) { msg.Append(new byte[0]); msg.AppendEmptyFrame(); } var bytes = _binding.Format(message); msg.Append(bytes); _socket.SendMultipartMessage(msg); }); task.Start(_scheduler); return(task); }
protected override async Task SendAsync(WampMessage <object> message) { try { Stream stream = mWebSocket.OutputStream.AsStreamForWrite(); byte[] frame = mBinaryBinding.Format(message); await stream.WriteAsync(frame, 0, frame.Length).ConfigureAwait(false); await stream.FlushAsync().ConfigureAwait(false); } catch (Exception ex) { RaiseConnectionError(ex); if (mWebSocket != null) { mWebSocket.Dispose(); } throw; } }
public byte[] Format(WampMessage <object> message) { return(mBinding.Format(message)); }
public override void Send(WampMessage <object> message) { byte[] bytes = mBinding.Format(message); WebSocket.Send(bytes, 0, bytes.Length); }
protected override ArraySegment <byte> GetMessageInBytes(WampMessage <object> message) { byte[] bytes = mBinding.Format(message); return(new ArraySegment <byte>(bytes)); }
protected override Task SendAsync(WampMessage <object> message) { byte[] bytes = mBinding.Format(message); return(mWebSocketConnection.Send(bytes)); }