gpt4 book ai didi

c - 开启环回后如何收到消息?

转载 作者:行者123 更新时间:2023-11-30 18:06:15 25 4
gpt4 key购买 nike

我已启动并运行多播 (udp) 发送器/接收器程序。如果我使用setsockopt来启用发送者的环回,如下所示:

if(setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)) < 0)
error("loopback failed.");

然后我将消息发送给每个订阅者,我的发件人如何获取发送出去的消息?发送者不会存储自己的 IP 地址和端口号并向自己发送消息(基本上是订阅自己),不是吗?

所以它应该是这样的:

接收者1(订阅)->发送者

接收者2(订阅)->发送者

何时发送:

发送者(信息)-> 接收者1

发送者(信息)->接收者2

发件人(信息)-> 发件人?//这一步是如何进行的?

感谢您的帮助:)

最佳答案

在您的代码中,loop类型必须为 u_char ,不是int 。当然,这也会改变最终的setsockopt()参数的值为 1。我对此没有个人经验,但 W. Richard Stevens 在《UNIX 网络编程(第 3 版)》第 1 卷中这么说。 1,第21.6节,所以一定是这样。

他还说使用类型 int这是一个常见的编程错误。

关于c - 开启环回后如何收到消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5737598/

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