I Changed how the server issues the done command to the clients in the finally block. I switched back to the older method of using sendall to the clients address. For some reason, the sendDoneCommandToClient was throwing an error saying that it was given 3 parameters but it only takes 2. Even though I only passed 2 parameters.