socket programmin

I was trying to write proxy code but i here is a problem

typedef struct req_msg
{
char *host;//hostname
char *filename;//filename
char *modified;//date
char *data;
char *request;
}req_msg;

while\(take_responce\(req,request\)!=0\)

// take_responce gets responce from http server
// req is req_msg
//data from the server is received in req->data
{
totaldata=strlen(req->data);
if(send(sock,req->data,totaldata,0))
//this is proxy's client socket
//data received from the http server is forwarded to client
{
Die("Server failed to send the data");
}
//buffer is made clean every time afte its use
free(req->data);
}

after running the code is failed after saying this
Server failed to send the data: Success

SoS :mad: