Ejemplo n.º 1
0
        private async void ReadFromClient()
        {
            try
            {
                while (this._client != null && this._client.Connected && this._stream != null)
                {
                    var data = await this._stream.ReadRawMessageAsync();

                    if (data == null)
                    {
                        await this.DisconnectAsync();

                        break;
                    }

                    var message = AtomMessage.Incoming(data);
                    await this._plugin.OnMessageReceivedAsync(message);

                    this.MessageReceived?.Invoke(this, new AtomClientMessageReceivedEventArgs(message));
                }
            }
            catch
            {
                await this.DisconnectAsync();
            }
        }
Ejemplo n.º 2
0
        private async void ReadFromChannel()
        {
            try
            {
                while (this._channel.Connected)
                {
                    var data = await this._stream.ReadRawMessageAsync();

                    if (data == null)
                    {
                        await this.DisconnectAsync();

                        break;
                    }

                    var message = AtomMessage.Incoming(data);
                    await this._parent.OnChannelMessageReceivedAsync(this, message);

                    this.MessageReceived?.Invoke(this, new AtomChannelMessageReceivedEventArgs(message));
                }
            }
            catch
            {
                await this.DisconnectAsync();
            }
        }