关于udp组播问题
下面是udp组播的实例代码.组播都要设置组播地址和端口。他在那里设置的。
另外,能否提供组播的接收代码。
Thanks.
#include "ace/OS_NS_string.h"
#include "ace/Log_Msg.h"
#include "ace/INET_Addr.h"
#include "ace/SOCK_Dgram_Mcast.h"
int send_multicast (const ACE_INET_Addr &mcast_addr)
{
const char *message = "this is the message!\n";
ACE_SOCK_Dgram_Mcast udp;
if (-1 == udp.join (mcast_addr))
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
ACE_TEXT ("join")), -1);
ssize_t sent = udp.send (message,
ACE_OS::strlen (message) + 1);
udp.close ();
if (sent == -1)
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
ACE_TEXT ("send")), -1);
return 0;
}
// Listing 1
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_INET_Addr nop;
send_multicast (nop);
return 0;
}
mcast_addr 就是你要设置地址的地方
调用udp.recv()接收数据,但不能像你那样用局部变量,除非你也在那个函数中接收
页:
[1]