Exemple #1
0
 //Send package
 public void SendPackage(object obj)
 {
     try
     {
         _formatter.Serialize(_stream, obj);
     }
     catch (Exception ex)
     {
         Disconnect();
         OnDataTransferError?.Invoke(ex, new ChatErrorEventArgs("Send message error"));
     }
 }
Exemple #2
0
        }//c-tor

        //Receive messages via network stream
        public void Work()
        {
            Thread newThread = new Thread(new ThreadStart(() =>
            {
                while (!_isStopped)
                {
                    try
                    {
                        object msg = _formatter.Deserialize(_stream);
                        OnChatMessageReceived?.Invoke(this, msg);
                    }
                    catch (Exception ex)
                    {
                        // IsStopped = true;
                        Disconnect();
                        OnDataTransferError?.Invoke(ex, new ChatErrorEventArgs("Connection error"));
                    }
                }
            }
                                                          ));

            newThread.IsBackground = true;
            newThread.Start();
        }