找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4475|回复: 1

关于udp组播问题

[复制链接]
发表于 2007-12-18 23:56:37 | 显示全部楼层 |阅读模式
下面是udp组播的实例代码.

组播都要设置组播地址和端口。他在那里设置的。

另外,能否提供组播的接收代码。

Thanks.
  1. #include "ace/OS_NS_string.h"
  2. #include "ace/Log_Msg.h"
  3. #include "ace/INET_Addr.h"
  4. #include "ace/SOCK_Dgram_Mcast.h"
  5. int send_multicast (const ACE_INET_Addr &mcast_addr)
  6. {
  7.   const char *message = "this is the message!\n";
  8.   ACE_SOCK_Dgram_Mcast udp;
  9.   if (-1 == udp.join (mcast_addr))
  10.     ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
  11.                        ACE_TEXT ("join")), -1);
  12.   ssize_t sent = udp.send (message,
  13.                            ACE_OS::strlen (message) + 1);
  14.   udp.close ();
  15.   if (sent == -1)
  16.     ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
  17.                        ACE_TEXT ("send")), -1);
  18.   return 0;
  19. }
  20. // Listing 1
  21. int ACE_TMAIN (int, ACE_TCHAR *[])
  22. {
  23.   ACE_INET_Addr nop;
  24.   send_multicast (nop);
  25.   return 0;
  26. }
复制代码
 楼主| 发表于 2007-12-18 23:56:45 | 显示全部楼层
mcast_addr 就是你要设置地址的地方

调用udp.recv()接收数据,但不能像你那样用局部变量,除非你也在那个函数中接收
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2025-3-12 14:47 , Processed in 0.033407 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表