server can read more byte than fixed buffer size

remember to clear buffer first when reusing it.
read() function will not return 0 when finish reading from the socket. (don't know the reason yet).