I always forget the socket fds are special. Use recv and send.