change the way to read from the socket