public User AddNewClient(TcpClientWrapper client) { User newUser = new User(client, false); TcpClientUsers.Add(client, newUser); UserBuffers.Add(newUser, new byte[0]); client.DataRead += new TcpClientWrapper.DataReadDelegate(client_DataRead); client.Disconnected += new TcpClientWrapper.DisconnectedDelegate(client_Disconnected); client.AsyncRead(Config.ReadBufferSize, true); return newUser; }
/// <summary> /// An event that fires when a socket connects. /// </summary> /// <param name="client"></param> protected void listener_OnClientConnected(TcpClientWrapper client) { ServerStats.totalConnections++; string IP = EndpointToIP(client.Client.RemoteEndPoint); if (CheckFloodingConnection(IP)) { client.Client.Shutdown(System.Net.Sockets.SocketShutdown.Both); return; } IncrementFloodingConnection(IP); //checks done, create a User object User newUser = new User(client, false); TcpClientUsers.Add(client, newUser); client.DataRead += new TcpClientWrapper.DataReadDelegate(client_DataRead); client.Disconnected += new TcpClientWrapper.DisconnectedDelegate(client_Disconnected); client.AsyncRead(Config.Network.ReadBufferSize, true); Users.Add(newUser); }