TCP/IP in c (unix)

I have written a client receive (TCP/IP) program which is up all the time. It connects to the server during Beginning of the day and stays alert and reads a message whenever one comes in.

the problem is after receiving a message, the client_receive program is getting a message with zero bytes. Why I am getting the zero bytes? What is the reason. The server is still up and is running fine....