gpt4 book ai didi

c - 从 C 套接字上的传入流中提取数据(字符串、字符等)

转载 作者:行者123 更新时间:2023-11-30 19:31:42 27 4
gpt4 key购买 nike

如何从 C 套接字上的传入流中提取实际数据(以人类可读的字符串、字符、整数等形式)?这样做的目的是能够对传入消息的内容进行操作。

struct netconn *client = NULL;
struct netconn *nc = netconn_new(NETCONN_TCP);
netconn_bind(nc, IP_ADDR_ANY, 8569);
netconn_listen(nc);

while (1) {
err_t err = netconn_accept(nc, &client);
if (err == ERR_OK) {
struct netbuf *nb;
if ((err = netconn_recv(client, &nb)) == ERR_OK) {

/* INTERPRETE INCOMING DATA HERE?? */

}
netbuf_delete(nb);
}
netconn_close(client);
netconn_delete(client);
}

客户端连接并发送“testing123”字符串。我该如何在“服务器”端解释这个字符串?

此练习的重点是能够通过使用通过本地网络发送到 WLAN 连接的 ESP8266 微 Controller 的适当“命令”来触发接收端所需的行为。

诗。我意识到这可能是非常原始的机制,因此我希望得到有关此事的一些反馈。非常感谢任何想法/想法/建议。

最佳答案

由于您的服务器无法知道数据发送的内容和方式,因此如果您选择使用字符串,则需要在单词之间指定通用消息或某种分隔符。

例如,您可以使用 | 作为分隔符,以便在客户端上输入以下内容:testing|123

在您的服务器上,您现在需要搜索 | 分隔符并划分传入的数据,以便获得字符串“testing”和 int“123”。

作为另一种方法,您可以借助结构来定义基于数字的接口(interface)。例如:

typedef struct
{
int cmd;
int subCmd;
} cmdStruct;

在此,您需要反序列化传入的字节并将它们解析为命令结构并根据接收到的命令执行操作。这包括您相应地发送命令。

关于c - 从 C 套接字上的传入流中提取数据(字符串、字符等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com