Connection failures are caused by port string problems(new line character maybe?).  Mitchell, I recommend changing the port field to an int.  I tested connecting to a client with port 4756 and it works if using htons and manually hard coding it.  For some reason the client is unreceptive to messages from the input thread.  I have no explanation for this, but it seems to iterate over clients fine.