void EndAccept() { Socket serverClientSocket = EndAccept(...); // create a base socket handler..... BaseSocket clientSocket = new BaseSocket(); _clients.Add(clientSocket); // bind the ondata event of the client and pass it to the clientondata event of the server. // Start receiving from the socket. clientSocket.Start(clientSocket); // accept new clients. StartAccept(); }