On Windows we cannot use read/write for sockets. Adding option to use
send/recv (and I need to figure out what to do with select)