C语言socket通信发送结构体的问题

Socket 通信中需要发送/接收结构体时,不能直接发送/接收结构体,需要先把结构体进行转化,如:
typedef struct 
{
    int client_sockfd;
    char client_name[30];
    char buff[100];
}message;

在发送时需要先定义一个数组: char snd_buf[1024] = {0};再定义一个结构体指针或变量: message msg;
memcpy(snd_buf,&msg,sizeof(message));
send(client_sockfd,snd_buf,sizeof(snd_buf),0);

另一端接收到后再转回到结构体 !

你可能感兴趣的:(C/C++)