 it's possible for this to be less
     than the length of MESSAGE if the socket is set to be non-blocking.
     The optional FLAGS argument is a value or bitwise OR of MSG_OOB,
     MSG_PEEK, MSG_DONTROUTE etc.

     Note that the data is written directly to the socket file
     descriptor: any unflushed buffered port data is ignored.

     This operation is defined only for strings containing codepoints
     zero to 255.

