okay to get peername and sockname if we're past the connection phases
throw a more descriptive error message which includes peer address information, if possible