组播问题,高手和有经验者请进

janlyjiang 2005-05-17 03:37:39
网上好多代码在众多高手说在其机子上能运行,可到了我的机子上就是运行不起来,不知为何?

是不是操作系统的问题?我的操作系统是Windows XP sp2 + Vc++6.0。
还需不需要装什么插件?
还有要不要在其入这个组之前创建这个组啊?

搞了好一段时间就是没有眉目,有点晕了:)。。。
...全文
119 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
blzgotop 2005-05-18
  • 打赏
  • 举报
回复
up
ddgfei 2005-05-17
  • 打赏
  • 举报
回复
不好意思打错了
224.0.0.0-239.255.255.255是多播组
LCBoy 2005-05-17
  • 打赏
  • 举报
回复
很明显系统的问题
--------
哈哈,重装,试试
ddgfei 2005-05-17
  • 打赏
  • 举报
回复
224.0.0.1-239.0.0.1是预留得多播组,
int nRet = setsockopt(m_hSocket,
IPPROTO_IP,
IP_ADD_MEMBERSHIP,
(char *)&stMreq,
sizeof(stMreq));
这个函数是加入多播组用的。
stMreq是多播组的结构
oyljerry(【勇敢的心】→ ㊣X-Man㊣)
发送方的确可以不用加入,但是如果想多播。必须向接收方的多播组地址发送数据
ddgfei 2005-05-17
  • 打赏
  • 举报
回复
224.0.0.1-239.0.0.1是预留得多播组,
int nRet = setsockopt(m_hSocket,
IPPROTO_IP,
IP_ADD_MEMBERSHIP,
(char *)&stMreq,
sizeof(stMreq));
这个函数是加入多播组用的。
stMreq是多播组的结构
oyljerry(【勇敢的心】→ ㊣X-Man㊣)
发送方的确可以不用加入,但是如果想多播。必须向接收方的多播组地址发送数据
janlyjiang 2005-05-17
  • 打赏
  • 举报
回复
这个组要不要我们自己创建?还是当各个socket加入同一个组,这个组就存在了?
janlyjiang 2005-05-17
  • 打赏
  • 举报
回复
我用winsocket2的函数
m_hGroupSocket = WSAJoinLeaf(m_hSocket, (PSOCKADDR)&addr,sizeof(addr),
NULL,&wsaCalleeData, NULL, NULL,JL_BOTH);
但是加不进去?
为什么?
janlyjiang 2005-05-17
  • 打赏
  • 举报
回复
加入一个组,加入组的时候,什么jionLeaf(...)函数返回的组socket是不可用的?
为什么? 我需要先建立这个组么?
oyljerry 2005-05-17
  • 打赏
  • 举报
回复
组播接收一般要加入组播组的
发送好像可以不用加入

具体问题要具体分析
janlyjiang 2005-05-17
  • 打赏
  • 举报
回复
我没有通过路由器,想通过允许回调(loopback)设置,来从组中得到自己发出的信息.(因为我没有路由器,只有hub--据说不支持组播).
ddgfei 2005-05-17
  • 打赏
  • 举报
回复
多播是什么都不需要得,与路由器也没关系,广播会受路由器的限制。
你的程序运行出什么错误?我可以帮你分析一下
janlyjiang 2005-05-17
  • 打赏
  • 举报
回复
我的问题是:组播(也叫多播)的程序在我的机子上运行不起来,是不是缺了点什么?
ddgfei 2005-05-17
  • 打赏
  • 举报
回复
bool UDPMulClass::setMultiGroup()
{
struct ip_mreq stMreq;
stMreq.imr_multiaddr.s_addr = inet_addr("239.254.1.2");
stMreq.imr_interface.s_addr = INADDR_ANY;
int nRet = setsockopt(m_hSocket,
IPPROTO_IP,
IP_ADD_MEMBERSHIP,
(char *)&stMreq,
sizeof(stMreq));
if (nRet == SOCKET_ERROR) {
TRACE ("setsockopt() IP_ADD_MEMBERSHIP address %s failed, Err: %d\n",
"239.254.1.2", WSAGetLastError());
return false;
}
return true;
}

这是我封装的多播的类中得一部分,其他的发送和接收同其他的发送程序没什么区别
nuaawenlin 2005-05-17
  • 打赏
  • 举报
回复
你的路由器是否支持组播?
KevinWon 2005-05-17
  • 打赏
  • 举报
回复
到底是什么组件啊。。。。。。。

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧