示例#1
0
        private void OnClientDisconnected(ITcpProtocolClient client_)
        {
            UnsubscribeFromClientEvents(client_);
            _clientList.Remove(client_);

            ClientDisconnected?.Invoke(this, client_);
        }
示例#2
0
        private void OnClientConnected(ITcpProtocolClient client_)
        {
            _clientList.Add(client_);
            SubscribeToClientEvents(client_);

            ClientConnected?.Invoke(this, client_);
        }
示例#3
0
 /// <summary>
 /// Remove a client from this list
 /// </summary>
 /// <param name="client_"></param>
 public void Remove(ITcpProtocolClient client_)
 {
     lock (_lock)
     {
         _list.Remove(client_);
     }
 }
示例#4
0
 /// <summary>
 /// Add a client to the list.
 /// </summary>
 /// <param name="client_"></param>
 public void Add(ITcpProtocolClient client_)
 {
     lock (_lock)
     {
         _list.Add(client_);
     }
 }
示例#5
0
 /// <summary>
 /// Get an enumeration of all the clients in this list
 /// </summary>
 /// <returns></returns>
 public IEnumerable <ITcpProtocolClient> GetClients()
 {
     lock (_lock)
     {
         var clients = new ITcpProtocolClient[_list.Count];
         _list.CopyTo(clients);
         return(clients);
     }
 }