Handle default port
Allow port=None
Avoid tracebacks for interrupt and broken pipe exceptions

Include ConnectionResetError, which can occur instead of BrokenPipeError.