服务器端发送整形数据强制转换为char*,在客户端的时候需要转换为int就行!
服务器端:
send(fd,(char*)&data_size,4,0);
std::cout<<data_size<<std::endl;
n = data_size;
while(n>0)
{
nwrite = send(fd,sbuffer+data_size-n,n,0);
if(nwrite < n)
{
/*if(nwrite == -1 && errno != EAGAIN)
{
perror("write error");
}*/
break;
}
n -= nwrite;
}
客户端:
char length[5]={0};
int tt ;
size_t l = recv(client_fd,(char*)&tt,4,0);
//size_t tt = (int)length;
//cout<<tt<<endl;
char *recvBuf= new char[tt];
int n =0;
int nread= 0;
//while((nread = recv(client_fd,recvBuf+n,BUFSIZE,0))>0)
//{
// n +=nread;
//}
recv(client_fd,recvBuf,tt,0);
std::string picall = recvBuf;