peakzhang 发表于 2007-12-18 23:50:12

关于组播的一个疑惑

我在使用组播类ACE_SOCK_Dgram_Cast时有如下问题:
比如在一个应用中用如下的代码加入到一个组播组中

ACE_SOCK_Dgram_Cast mcast;
ACE_INET_Addr mcast_addr;
mcast_addr.set(8000,"224.0.0.1");
//-------加入组
if(mcast.join(mcast_addr)==-1)
{
AfxMessageBox("加入组失败");
}
//--退出组
if(mcast.leave(mcast_addr)==-1)
{
AfxMessageBox("退出组失败");
}

现在的问题是当我加入到一个组:比如端口是 8000,组播地址是 224.0.0.1后,我想再加入(退不退当前加入的组无所谓)另一个组端口是8001,地址是224.200.200.1时总是不能加入,也就是join返回了-1,而如果将8001改成8000就可以加入,难道前后的组播端口必须一样??不应该吧?望大虾指点!

peakzhang 发表于 2007-12-18 23:50:20

原来是同一个组播对象不能更改地址和端口,换成指针对象后,通过new就可以了
页: [1]
查看完整版本: 关于组播的一个疑惑