public static void Socket_MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args) { try { using (DataReader dataReader = args.GetDataReader()) { dataReader.UnicodeEncoding = UnicodeEncoding.Utf8; string rawMsg = dataReader.ReadString(dataReader.UnconsumedBufferLength); var(msg, cvt) = SocketMessageConverter.Read(rawMsg); if (cvt != null) { var cvtType = cvt.GetType(); switch (cvtType.Name) { case nameof(OpenConverter): SocketId = msg; break; case nameof(MessageConverter): MessageReceived(msg); break; case nameof(FeedConverter): FeedReceived(msg); break; } } } } catch { } }
public static async Task <bool> SendMessageAsync(Domain.SocketMessageConverter.SocketMessageType msgType, SendMessageRequestBody body) { if (_socket != null) { string msg = SocketMessageConverter.Process(msgType, body); using (var dataWriter = new DataWriter(_socket.OutputStream)) { dataWriter.WriteString(msg); try { await dataWriter.StoreAsync(); dataWriter.DetachStream(); return(true); } catch { } } } return(false); }