low level socket i/o