public Task DisconnectAsync()
        {
            try
            {
                _mitar.Stop();
                _workerController.CloseWorker(_syncWorker);
                Thread.Sleep(100);

                _mitar = null;
                _stream?.Close();
                _stream?.Dispose();
                _stream = null;
                _tcpClient?.Close();
                _tcpClient?.Dispose();
                _tcpClient = null;
                return(Task.CompletedTask);
            }
            catch (SocketException e)
            {
                IsConnected = false;
                throw new DeviceConnectionException("Ошибка отключения от кардиомонитора", e);
            }
            catch (ObjectDisposedException e)
            {
                IsConnected = false;
                throw new DeviceConnectionException("Ошибка отключения от кардиомонитора", e);
            }
            catch (Exception e)
            {
                IsConnected = false;
                throw new DeviceProcessingException("Ошибка отключения от кардиомонитора", e);
            }
        }
        public void Stop()
        {
            _cts.SafelyCancel();

            _cts?.Dispose();
            _reconnectTimer?.Dispose();
            _sendDataTimer?.Dispose();
            _tcpClient?.Dispose();
            _networkStream?.Dispose();

            _networkSemaphore.Dispose();
        }
Exemple #3
0
 public void Dispose()
 {
     messageSender?.Dispose();
     messageReceiver.Dispose();
     stream?.Dispose();
     tcpClient?.Dispose();
 }
Exemple #4
0
 public void Dispose()
 {
     dataStream?.Close();
     dataStream?.Dispose();
     client?.Close();
     client?.Dispose();
 }
 /// <summary>
 /// Encerra a conexão do transporte.
 /// </summary>
 public void Close()
 {
     m_disconnected = true;
     m_dataStream?.Close();
     m_dataStream?.Dispose();
     m_client?.Close();
 }
Exemple #6
0
        public void Dispose()
        {
            if (_dispose)
            {
                return;
            }

            Transaction = null;
            _dispose    = true;

            _reader?.Close();
            _reader?.Dispose();

            _stream?.Close();
            _stream?.Dispose();

            _innerStream?.Close();
            _innerStream?.Dispose();

            _client?.Close();
            _client?.Dispose();

            if (_listener != null && _listener.ClientProcessors.Contains(this))
            {
                _listener.ClientProcessors.Remove(this);
            }
        }
Exemple #7
0
 public void Dispose()
 {
     input?.Dispose();
     stream?.Dispose();
     xSocket?.Dispose();
     output?.Dispose();
 }
Exemple #8
0
 public void StopSender()
 {
     _tcpListener?.Stop();
     _clientConnection?.Disconnect(false);
     _clientConnection?.Dispose();
     _networkStream?.Dispose();
 }
Exemple #9
0
 public void Dispose()
 {
     Client?.Dispose();
     Client = null;
     _stream?.Dispose();
     _stream = null;
 }
        //{
        //    if (IsOpen)
        //        return;

        //    try
        //    {
        //        _tcpClient = new Socket(SocketType.Stream, ProtocolType.Tcp);
        //        _tcpClient.ReceiveTimeout = DefaultTimeoutMs;
        //        _tcpClient.SendTimeout = DefaultTimeoutMs;

        //        //_tcpClient.ReceiveAsync

        //        _tcpClient.Connect(_endPoint);


        //    }
        //    catch (UnauthorizedAccessException)
        //    {
        //        // Connection closure has probably not yet been finalized.
        //        // Wait 250 ms and try again once.
        //        Thread.Sleep(250);
        //        _tcpClient.Connect(_endPoint);
        //    }
        //}

        public void Close()
        {
            if (!IsOpen)
            {
                return;
            }

            Thread.Sleep(250);
            _networkStream?.Flush();
            _networkStream?.Close();
            _networkStream?.Dispose();
            _tcpClient?.Close();

            //_task?.Dispose();
            _task = null;
        }
 public void Dispose()
 {
     client?.Dispose();
     networkStream?.Dispose();
     reader?.Dispose();
     writer?.Dispose();
 }
Exemple #12
0
        /// <summary>
        /// Disconnects this connection.
        /// </summary>
        public void Disconnect()
        {
            if (_disconnectCalls > 0)
            {
                return;
            }

            _disconnectCalls++;
            _writeDone.WaitOne();

            try
            {
                ClientDisconnected(this, EventArgs.Empty);
            }
#pragma warning disable CA1031 // Do not catch general exception types
            catch
#pragma warning restore CA1031 // Do not catch general exception types
            {
                // ignore
            }

            try
            {
                RemoteClient.Dispose();
                SecureStream?.Dispose();
                NetworkStream?.Dispose();
            }
            finally
            {
                NetworkStream            = null;
                SecureStream             = null;
                RemoteClient             = null;
                _continuousReadingThread = null;
            }
        }
        /// <summary>
        /// Disconnects the driver asynchronously, shutting down the NVDA instance.
        /// </summary>
        /// <returns>The task associated to this operation.</returns>
        public async Task DisconnectAsync()
        {
            if (_sslStream != null && _sslStream.CanWrite)
            {
                await ShutdownNvda();
            }

            _cancellationTokenSource?.Cancel();
            if (_taskReceivingMessages != null)
            {
                await Task.WhenAll(_taskReceivingMessages);
            }

            _tcpClient?.Close();
            _tcpClient?.Dispose();
            _sslStream?.Dispose();
            _networkStream?.Dispose();
            _nvdaProcess?.WaitForExit(10000);
            try
            {
                _nvdaProcess?.Kill();
            }
            catch
            {
                // eror when killing nvda process.
            }
        }
 /// <summary>
 /// Disconnects everything
 /// </summary>
 private void _disconnect()
 {
     _writer?.Dispose();
     _reader?.Dispose();
     _networkStream?.Dispose();
     _tcpClient?.Dispose();
 }
 public void Dispose()
 {
     m_Socket?.Dispose();
     m_Stream?.Dispose();
     m_CancellationTokenSource?.Dispose();
     m_ConnectionTimeOutTokenSource?.Dispose();
 }
Exemple #16
0
        public void Dispose()
        {
            _client.Close();

            _stream?.Dispose();
            _client?.Dispose();
        }
Exemple #17
0
 public virtual void Disconnect()
 {
     _networkStream?.Dispose();
     _networkStream = null;
     _socket?.Dispose();
     _socket = null;
 }
Exemple #18
0
        static void Main(string[] args)
        {
            TcpClient     ourTcpClient  = null;
            NetworkStream networkStream = null;

            var testHl7MessageToTransmit = new StringBuilder();

            //a HL7 test message that is enveloped with MLLP as described in my article
            testHl7MessageToTransmit.Append(START_OF_BLOCK)
            .Append("MSH|^~\\&|AcmeHIS|StJohn|CATH|StJohn|20061019172719||ORM^O01|MSGID12349876|P|2.3")
            .Append(CARRIAGE_RETURN)
            .Append("PID|||20301||Durden^Tyler^^^Mr.||19700312|M|||88 Punchward Dr.^^Los Angeles^CA^11221^USA|||||||")
            .Append(CARRIAGE_RETURN)
            .Append("PV1||O|OP^^||||4652^Paulson^Robert|||OP|||||||||9|||||||||||||||||||||||||20061019172717|20061019172718")
            .Append(CARRIAGE_RETURN)
            .Append("ORC|NW|20061019172719")
            .Append(CARRIAGE_RETURN)
            .Append("OBR|1|20061019172719||76770^Ultrasound: retroperitoneal^C4|||12349876")
            .Append(CARRIAGE_RETURN)
            .Append(END_OF_BLOCK)
            .Append(CARRIAGE_RETURN);

            try
            {
                //initiate a TCP client connection to local loopback address at port 1080
                ourTcpClient = new TcpClient();

                ourTcpClient.Connect(new IPEndPoint(IPAddress.Loopback, 1080));

                Console.WriteLine("Connected to server....");

                //get the IO stream on this connection to write to
                networkStream = ourTcpClient.GetStream();

                //use UTF-8 and either 8-bit encoding due to MLLP-related recommendations
                var byteBuffer = Encoding.UTF8.GetBytes(testHl7MessageToTransmit.ToString());

                //send a message through this connection using the IO stream
                networkStream.Write(byteBuffer, 0, byteBuffer.Length);

                Console.WriteLine("Data was sent data to server successfully....");

                Console.WriteLine("This client is not technically complete as it does not receive MLLP message acknowledgement back....");

                Console.WriteLine("Press any key to exit program...");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                //display any exceptions that occur to console
                Console.WriteLine(ex.Message);
            }
            finally
            {
                //close the IO strem and the TCP connection
                networkStream?.Close();
                networkStream?.Dispose();
                ourTcpClient?.Close();
            }
        }
Exemple #19
0
        public async Task Listen()
        {
            var socket = await this.tcpListener.AcceptSocketAsync();

            var stream = new NetworkStream(socket);
            var reader = new BinaryReader(stream, Encoding.UTF8);

            try
            {
                Preface.Read(reader);
                Console.WriteLine(Preface.ToString());

                Frame frame;

                frame = Frame.Read(reader);
                Console.WriteLine(frame.ToString());

                frame = Frame.Read(reader);
                Console.WriteLine(frame.ToString());

                frame = Frame.Read(reader);
                Console.WriteLine(frame.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                socket?.Dispose();
                stream?.Dispose();
                reader?.Dispose();
            }
        }
Exemple #20
0
 protected override void OverridableDispose()
 {
     _sockStream?.Close();
     _sockStream?.Dispose();
     _socket?.Close();
     _socket?.Dispose();
 }
 public void Disconnect(Exception Error = null)
 {
     if (!IsConnected)
     {
         return;
     }
     IsConnected = false;
     try
     {
         Client?.Close();
     }
     catch
     {
     }
     try
     {
         NetStream?.Close();
         NetStream?.Dispose();
     }
     catch
     {
     }
     Client    = null;
     NetStream = null;
     Disconnected?.Invoke(this, new SocketDisconnectedArgs()
     {
         RoomID  = RoomID,
         ByError = (Error != null),
         Error   = Error
     });
 }
Exemple #22
0
 /// <summary>Closes the connection and releases resources.</summary>
 /// <exception cref="ObjectDisposedException"></exception>
 public void Dispose()
 {
     CheckDisposed();
     _isDisposed = true;
     _socket?.Dispose();
     _stream?.Dispose();
 }
Exemple #23
0
 public void Dispose()
 {
     reader?.Dispose();
     writer?.Dispose();
     stream?.Dispose();
     client.Dispose();
 }
Exemple #24
0
 public void Dispose()
 {
     if (!_disposed)
     {
         _disposed = true;
         if (_conns != null)
         {
             for (int i = 0; i < _conns.Length; i++)
             {
                 _conns[i]?.Dispose();
                 _conns[i] = null;
             }
             _conns = null;
         }
         if (_writes != null)
         {
             IFrameData frameData;
             while (_writes.TryTake(out frameData))
             {
                 frameData?.Dispose();
             }
             _writes = null;
         }
         _stream?.Dispose();
         _closeRegistration.Dispose();
         _tcpClient?.Dispose();
         _cts.Dispose();
     }
 }
Exemple #25
0
 public void Despose()
 {
     protocolRun = false;
     tcpClient?.Dispose();
     tcpStream?.Dispose();
     tcpClient = null;
     tcpStream = null;
 }
Exemple #26
0
 private void ClearConnectionFields()
 {
     _writer?.Dispose();
     _reader?.Dispose();
     _networkStream?.Dispose();
     _tcpClient?.Dispose();
     _version = string.Empty;
 }
Exemple #27
0
 public void OnConnectionClosed()
 {
     _streamReader?.Dispose();
     _streamWriter?.Dispose();
     _stream?.Dispose();
     _client?.Close();
     _ = Task.Factory.StartNew(WaitForTCPConnection, TaskCreationOptions.LongRunning);
 }
        public void Disconnect()
        {
            _stream?.Dispose();
            _stream = null;

            _client?.Dispose();
            _client = null;
        }
 public void Dispose()
 {
     _cancellationTokenSource.Cancel(false);
     _process.Dispose();
     _stream?.Dispose();
     _writer?.Dispose();
     _reader?.Dispose();
 }
Exemple #30
0
 public void Close()
 {
     m_Stream?.Close();
     m_Stream?.Dispose();
     m_Client?.Close();
     m_Stream = null;
     m_Client = null;
 }
Exemple #31
0
    public int Connect()
    {
        int ckint = 1;

        if (_pop3_host == "")
            ckint = -2;
        else if (_pop3_port < 1 || _pop3_port > 65534)
            ckint = -3;

        if (ckint == 1)
        {
            try
            {
                _pop3_client.Connect(_pop3_host, _pop3_port);
                if (_pop3_client.Connected)
                {
                    _netstream = _pop3_client.GetStream();
                    _st_reader = new StreamReader(_netstream, Encoding.Default);
                    _st_writer = new StreamWriter(_netstream, Encoding.Default);
                    if (POP3_Receive())
                    {
                        ckint = 0;
                    }
                    else
                    {
                        _netstream.Close();
                        _st_reader.Close();
                        _st_writer.Close();
                        _pop3_client.Close();

                        _netstream.Dispose();
                        _st_reader.Dispose();
                        _st_writer.Dispose();
                        ckint = -4;
                    }
                }
                else
                    ckint = -1;
            }
            catch
            {
                ckint = -1;
            }
        }
        return ckint;
    }