The server will now write the correct number of bytes read (forgot the = case). Additionally the client will set its error to be the minimum of the number of bytes read from the socket and the actual number of bytes written by the server.