BTDB.Service.TcpipServer.StopListening C# (CSharp) Method

StopListening() public method

public StopListening ( ) : void
return void
        public void StopListening()
        {
            _listening = false;
            _listener.Stop();
            if (_acceptClientsTask != null)
                _acceptClientsTask.Wait();
        }

Usage Example

 public void ConnectClientToServerClientDisconnects()
 {
     var server = new TcpipServer(_ipEndPoint);
     var e = new AutoResetEvent(false);
     var e1 = new AutoResetEvent(false);
     var e2 = new AutoResetEvent(false);
     bool servercompleted = false;
     bool servercompleted2 = false;
     bool clientcompleted = false;
     bool clientcompleted2 = false;
     bool onServerConnected = false;
     bool onClientConnected = false;
     IPEndPoint clientEndPoint = null;
     IPEndPoint clientEndPoint2 = null;
     server.NewClient = ch =>
         {
             Assert.Equal(_ipEndPoint, (ch as ITcpIpChannel).LocalEndPoint);
             clientEndPoint = (ch as ITcpIpChannel).RemoteEndPoint;
             ch.OnConnect.Subscribe(u => onServerConnected = true,
                                    ex => Assert.True(false, ex.ToString()),
                                    () => servercompleted2 = true);
             ch.OnReceive.Subscribe(bb => Assert.True(false, "receive without send"), ex => Assert.True(false, ex.ToString()), () =>
                 {
                     servercompleted = true; e2.Set();
                 });
             e.Set();
         };
     server.StartListening();
     try
     {
         var client = new TcpipClient(_ipEndPoint);
         client.OnConnect.Subscribe(u =>
             {
                 onClientConnected = true;
                 clientEndPoint2 = client.LocalEndPoint;
                 Assert.Equal(_ipEndPoint, client.RemoteEndPoint);
                 e1.Set();
             },
             ex => Assert.True(false, ex.ToString()),
             () => clientcompleted2 = true);
         client.OnReceive.Subscribe(bb => Assert.True(false, "receive without send"),
                                    ex => Assert.True(false, ex.ToString()),
                                    () => clientcompleted = true);
         client.ConnectAsync();
         Assert.True(e.WaitOne(TimeSpan.FromSeconds(10)));
         Assert.True(e1.WaitOne(TimeSpan.FromSeconds(10)));
         client.Dispose();
         Assert.True(clientcompleted);
         Assert.True(clientcompleted2);
         Assert.True(e2.WaitOne(TimeSpan.FromSeconds(10)));
         Assert.True(servercompleted);
         Assert.True(servercompleted2);
         Assert.True(onClientConnected);
         Assert.True(onServerConnected);
         Assert.Equal(clientEndPoint, clientEndPoint2);
     }
     finally 
     {
         server.StopListening();
     }
 }
All Usage Examples Of BTDB.Service.TcpipServer::StopListening