コード例 #1
0
        public async Task Should_connect_and_disconnect()
        {
            TcpTransport transport = CreateTcpTransport();

            transport.State.Should().Be(TransportState.Disconnected);
            transport.IsConnected.Should().BeFalse();

            await transport.ConnectAsync();

            Socket clientSocket = _serverSocket.Accept();

            clientSocket.Should().NotBeNull();
            clientSocket.IsConnected().Should().BeTrue();

            transport.State.Should().Be(TransportState.Connected);
            transport.IsConnected.Should().BeTrue();

            await transport.DisconnectAsync();

            transport.Dispose();

            clientSocket.IsConnected().Should().BeFalse();

            transport.State.Should().Be(TransportState.Disconnected);
            transport.IsConnected.Should().BeFalse();
        }
コード例 #2
0
 public void Dispose()
 {
     if (_transport != null)
     {
         _transport.Dispose();
         _transport = null;
     }
 }
コード例 #3
0
 public void Dispose()
 {
     if (transport != null)
     {
         transport.Dispose();
         transport = null;
     }
 }
コード例 #4
0
ファイル: TelegramClient.cs プロジェクト: zcxv/TLSharp
        private async Task ReconnectToDc(int dcId)
        {
            if (dcOptions == null || !dcOptions.Any())
            {
                throw new InvalidOperationException($"Can't reconnect. Establish initial connection first.");
            }

            var dc = dcOptions.Cast <DcOptionConstructor>().First(d => d.id == dcId);

            if (_transport != null)
            {
                _transport.Dispose();
            }
            _transport             = new TcpTransport(dc.ip_address, dc.port);
            _session.ServerAddress = dc.ip_address;
            _session.Port          = dc.port;
            _session.CurrentDcId   = dcId;

            await Connect(true);
        }
コード例 #5
0
 public void Dispose()
 {
     _recievingTokenSource?.Cancel();
     TcpTransport?.Dispose();
 }
コード例 #6
0
 public void Dispose()
 {
     _wrapped.Dispose();
 }