Exemplo n.º 1
0
        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 { }
        }
Exemplo n.º 2
0
        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);
        }