make the protocol (3rd arg to socket()) optional