帮我写一个接收客户端报文并存储成结构体的C语言函数代码
时间: 2023-02-22 21:04:03 浏览: 165
编写一个邮件收发的客户端
4星 · 用户满意度95%
好的,以下是一个简单的例子:
```
#include <stdio.h>
#include <string.h>
struct client_message {
char header[100];
int payload_length;
char payload[1000];
};
int receive_and_store(struct client_message *message) {
// 接收客户端报文并存储到结构体中
int received = 0;
received = recv(client_socket, message, sizeof(struct client_message), 0);
if (received < 0) {
printf("Error receiving message from client\n");
return -1;
}
return 0;
}
```
在上面的代码中,我们定义了一个名为 `client_message` 的结构体,其中包含了报文的头信息(header)、负载长度(payload_length)和负载内容(payload)。然后,我们写了一个名为 `receive_and_store` 的函数,该函数接收一个指向 `client_message` 结构体的指针,并使用 `recv` 函数从客户端接收报文,将其存储到结构体中。如果接收失败,则返回 -1,否则返回 0。
阅读全文