private static void ConnectionPoolManagerDemo() { int port = 13145; INetServerProvider netServerProvider = NetServerProvider.CreateProvider(); INetTokenPoolProvider tokenPool = NetTokenPoolProvider.CreateProvider(60); tokenPool.ConnectionTimeout = 60; SocketToken _sToken = null; netServerProvider.AcceptHandler = new OnAcceptHandler((sToken) => { _sToken = sToken; tokenPool.InsertToken(new NetConnectionToken() { Token = sToken }); }); bool isOk = netServerProvider.Start(port); if (isOk) { INetClientProvider netClientProvider = NetClientProvider.CreateProvider(); netClientProvider.DisconnectedHanlder = new OnDisconnectedHandler((sToken) => { Console.WriteLine("client disconnected"); }); bool rt = netClientProvider.ConnectTo(port, "127.0.0.1"); if (rt) { while (tokenPool.Count == 0) { Thread.Sleep(10); } var rtToken = tokenPool.GetTokenBySocketToken(_sToken); bool refreshRt = tokenPool.RefreshExpireToken(_sToken); rt = tokenPool.RemoveToken(new NetConnectionToken() { Token = _sToken }); Console.WriteLine("pool count:" + tokenPool.Count); Console.ReadKey(); } } }