gpt4 book ai didi

C 将 udp dns 消息更改为 tcp 并返回

转载 作者:行者123 更新时间:2023-11-30 20:41:34 24 4
gpt4 key购买 nike

我有两个变量:buflength(char buf[BUFSIZE], int length)。 Buf 包含使用 UDP 协议(protocol)发送的 DNS 消息,length 中包含该消息的长度。现在我需要更改 buf,以便我可以将它与 TCP 协议(protocol)一起使用并将其发送到 DNS 服务器并获取响应,然后该响应将更改回 UDP 协议(protocol)。

我知道我应该添加一些字节,然后删除一些字节,但我真的不知道是哪一个。所以请帮忙,也请用 C 显示它。

最佳答案

您需要打开第二个 SOCK_STREAM 类型的套接字,然后使用 send() 发送 buf 的内容:

sock = socket( AF_INET, SOCK_STREAM, 0 );
connect(...);
send( sock, buf, length, 0 );

这是可行的,因为在使用套接字时,您通常不会获得协议(protocol) header ,而只会获得 UDP/TCP 有效负载。

关于C 将 udp dns 消息更改为 tcp 并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380427/

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