找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4152|回复: 1

关于组播的一个疑惑

[复制链接]
发表于 2007-12-18 23:50:12 | 显示全部楼层 |阅读模式
我在使用组播类ACE_SOCK_Dgram_Cast时有如下问题:
比如在一个应用中用如下的代码加入到一个组播组中
  1. ACE_SOCK_Dgram_Cast mcast;
  2. ACE_INET_Addr mcast_addr;
  3. mcast_addr.set(8000,"224.0.0.1");
  4. //-------加入组
  5. if(mcast.join(mcast_addr)==-1)
  6. {
  7.   AfxMessageBox("加入组失败");
  8. }
  9. //--退出组
  10. if(mcast.leave(mcast_addr)==-1)
  11. {
  12. AfxMessageBox("退出组失败");
  13. }
复制代码
现在的问题是当我加入到一个组:比如端口是 8000,组播地址是 224.0.0.1后,我想再加入(退不退当前加入的组无所谓)另一个组端口是8001,地址是224.200.200.1时总是不能加入,也就是join返回了-1,而如果将8001改成8000就可以加入,难道前后的组播端口必须一样??不应该吧?望大虾指点!
 楼主| 发表于 2007-12-18 23:50:20 | 显示全部楼层
原来是同一个组播对象不能更改地址和端口,换成指针对象后,通过new就可以了
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2025-3-12 15:22 , Processed in 0.026245 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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