Beispiel #1
0
 private void ListenThread()
 {
     try
     {
         RemoteSocket.ReceiveTimeout = 1000;
         byte[] buffer = new byte[1024 * 1024];
         while (this.IsExpired == false)
         {
             SocketHelpers.Read(this, RemoteSocket, buffer, 4);
             if (this.IsExpired)
             {
                 break;
             }
             var messageLength = BitConverter.ToInt32(buffer, 0);
             SocketHelpers.Read(this, RemoteSocket, buffer, messageLength);
             if (this.IsExpired)
             {
                 break;
             }
             var messageText = Encoding.UTF8.GetString(buffer, 0, messageLength);
             MessageReceived.Fire(messageText);
         }
     }
     catch (Exception ex)
     {
         UnexpectedDisconnect.Fire(ex);
         this.Dispose();
     }
     finally
     {
         RemoteSocket.Close();
     }
 }
Beispiel #2
0
 private void OnUnexpectedDisconnect()
 {
     _IsConnected           = false;
     _AcquisitionInProgress = false;
     _Completed             = true;
     OnPropertyChanged();
     new Thread(() => { UnexpectedDisconnect?.Invoke(this, new EventArgs()); }).Start();
 }
Beispiel #3
0
 public void OnUnexpectedDisconnect()
 {
     IsConnected = false;
     UnexpectedDisconnect?.Invoke(this, EventArgs.Empty);
 }