Server sockets are handled internally to Socket and connect/accept uses blocking socket

As a consequence, the code more consequently assumes that after connecting, the socket
is non-blocking, as is the case in the MPWide code.
Shorter channel calculation
Socket accept matches description
Socket::send and ::recv match description