コード例 #1
0
ファイル: Server.cs プロジェクト: nalamar/GaMan4
 /// <summary>
 /// Remove a client.
 /// </summary>
 /// <param name="client"></param>
 /// <returns></returns>
 public bool RemoveClient(ClientWorker client)
 {
     // Collection is not thread-safe. Lock it...
     lock (this)
     {
         return _clients.Remove(client);
     }
 }
コード例 #2
0
ファイル: Server.cs プロジェクト: nalamar/GaMan4
 /// <summary>
 /// Removes mysterious duplicates in our list.
 /// </summary>
 /// <param name="client"></param>
 public void RemoveDuplicates(ClientWorker client)
 {
     if (RemoveClient(client))
     {
         LogConsole("removed mysterious duplicate.", client.LocalIPEndPoint);
     }
 }
コード例 #3
0
ファイル: Server.cs プロジェクト: nalamar/GaMan4
 /// <summary>
 /// Creates a new client.
 /// </summary>
 /// <param name="socket"></param>
 public void CreateNewClient(Socket socket)
 {
     ClientWorker newClient = new ClientWorker(socket);
     newClient.PacketReceivedEvent += new PacketReceivedEventHandler(PacketReceived);
     newClient.ClientDisconnectedEvent += new ClientDisconnectedEventHandler(ClientDisconnected);
     RemoveDuplicates(newClient);
     _clients.Add(newClient);
     LogConsole("connected.", newClient.LocalIPEndPoint);
 }