- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个小型的发送方和接收方应用程序,它将其名称广播到多播组中的所有其他应用程序,同时还接收其他应用程序的名称。
我想我现在已经完成了发送部分,如下所示:
if (sendto(sock, message, sizeof(message), 0, (struct sockaddr *) &receiver_addr, sizeof(receiver_addr)) < 0) {
perror("sendto");
exit(1);
}
receiver_addr 的 ip 地址设置为多播组的 ip 地址,所以我确定组中的每个套接字都收到了消息。但是现在我想将从多播组中的每个套接字接收到的消息存储到一个数组中。我看到的示例代码使用以下代码:
if (recvfrom(sock, buf, BUFLEN, 0, (struct sockaddr *) &sender_addr, &senderlen) < 0)
{
perror("recvfrom");
exit(1);
}
这次 sender_addr 变量是数据来自的端口地址。但是这样只能得到地址为sender_addr的单个主机发送的信息。我想获得多播组内所有端口地址的列表,以便我可以运行 recvfrom 方法的循环,但将 receiver_addr 的值更改为组中每个套接字的地址。
最佳答案
Is it possible to get a list of all sockaddr_in addresses for each socket in a multicast group
没有。甚至不可能获得多播组成员的列表,更不用说它们的任何属性了。
the receiver_addr has its ip address set to the ip address of the multicast group, so I'm sure that each socket in the group has received the message.
不,你不是。多播运行在 UDP 之上,而 UDP 是一种不可靠的协议(protocol)。您无法确定任何此类事情。
I want to get a list of all addresses of ports inside the multicast group
运气不好。你不能。
so that I can run a loop of the recvfrom method, but change the value of receiver_addr to the address of each of the sockets in the group.
您对recvfrom()
的address
参数有一个基本的误解。它不是您事先设置的过滤器。它是一个result 参数,告诉您数据报是从哪里收到的。
关于c++ - 是否有可能获得多播组中每个套接字的所有 sockaddr_in 地址的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33911874/
降本手段一招鲜,增效方法吃遍天; 01 互联网行业里; 降本策略千奇百怪,手段却出奇一致;增效方法五花八门,手段更是花里胡哨; 对于企业来说;
有什么方法可以使用 angularjs 中的部分进行代码分组吗? 原因 --- 我的 Controller 包含太多代码。该 Controller 包含了多个方法和大量功能的代码,降低了代码的可读性。
不幸的是,我的数据库的数据模型必须改变,所以我正在寻找最轻松的方式来迁移我的数据。 此时情况如何: create table cargo{ id serial primary key, per
在 QTextEdit 对象中,假设我想知道字符在鼠标光标下的位置。 我会写... void MyQTextEditObject::mousePressEvent(QMouseEvent* mouse
是否可以在 C++ 中返回一个 return 语句或做一些具有类似功能的事情? 例如,如果代码中有几个函数将指针作为输入,并且每个函数都检查指针是否为 nullptr,这将很方便。如果它是一个 nul
我的 PC 上有一个控制台应用程序,它是 signalR 服务器。 我有一个 html 页面,它是互联网上的 signalR 客户端。但我尝试连接服务器,但我有一个错误的请求 400 错误。如果服务器
我想将应用程序作为后台进程运行。当点击应用程序图标时,它不会显示任何 View ,只会启动后台进程。 最佳答案 对于 iOS 这是不可能的,但是对于 android,react native 有 he
我知道有(昂贵的)框架可以让你在 VS C# 中编写 android 应用程序并将其编译为 android apk。 我也知道,可以在 VS 中编写 Java 应用程序(link)。 是否有可能,甚至
我在做: can :manage, :all if user.role == 'admin' can :approve, Anuncio do |anuncio| anuncio.try(:apr
我是一名优秀的程序员,十分优秀!