2011-03-15 42 views
0

我有多个进程UDP多播彼此messages.I正在使用recvfrom的()来读取传入messages.Is有什么办法可以找出类似收到“消息的目的地址从“recvfrom中的地址?我认为这样我可以区分发送到组的消息并发送到特定进程。一切都是Unix/Linux和C.谢谢。获取信息的目的地址 - 接口C

+0

类似的问题:http://stackoverflow.com/questions/5281409/get-destination-address-of-a-received-udp-packet – 2011-03-15 09:13:32

+1

不能进行多播地址的所有组地址?我看不到你如何将它们用于特定的目的地。 – blaze 2011-03-15 09:16:17

+0

是什么和“发送到特定处理”“发送到论坛的帖子”有什么区别?这对你来说代表着什么? – 2011-03-15 11:42:15

回答

0

你问一般的socket编程,但如果你使用的是Windows,你也许能够得到WSARecvMsg为你工作。在收到数据报WSARecvMsg会给你一个WSAMSG结构,其中的dwFlags成员将包括MSG_MCAST或MSGBCAST适当的。在其他平台上,您可能能够找到类似的东西。然而,它对套接字来说属于低级别,所以我不会很乐观。希望有人更好地通知我,可以帮助你!

+0

谢谢。我用recvmsg()发现了一种方式,但看起来有点复杂 - 想知道是否有更简单的方法。 – user629034 2011-03-15 09:04:03

+2

你说你想通了使用recvmsg()。你应该回答自己的问题并接受它,然后,因为我认为这是正确的做法。 – 2011-03-15 11:43:24