Annoying problem!!!! ...I have a client server application; requests are sent between the two until the user disconnects!!! (simple)

So, the problem is when the client connects, you send a request to the server, the server replies and the reply is shown to the user on the client interface! However, when the server is responding any time after the first time; the data at the client end never gets printed (or received)!!!
...So i made sure the server was sending data to the client over the connection, which it was, then i made sure the client was reading by checking the number of chars read (which it says is 255, but that is wrong! it should be around 30-50 chars!!!!!!) WHATS GOING ON?????????

My recieve data from socket function is.....

Code:
int readMsgFromServer(char *theMessage){
  
  /* ATTEMPT TO READ DATA FROM SOCKET */
  n = recv(sockfd, theMessage, (BUFFSIZE - 1), 0);
  if (n < 0) { 
    return ERROR;
  }
  else {
    return 0; 
  }
  
}
The call to read from the socket in the client program is...

Code:
          bzero(buffer, BUFFSIZE); 
          if (readMsgFromServer(buffer) != 0) {
            printf("ERROR Reading the servers response! Try again!\n");
          }
          if (n < 0) printf("error\n");
          else {
	    printf("RESPONSE FROM SERVER...\n%s\n",buffer);
          }
So, if i check n on the second read from socket its 255!!! (but there isn't a response string to print to the user!!!!! ...where the hell does it go?????? the server definatley is sending data! The error is somewhere in the client read function.

NOTE: For the time being the socket variables and structs are declared as global so all functions have access to the socket!!!

Any ideas??? Cheers!!!