9crk

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk  发布于  2015-08-24 10:58:43
采纳率 0%
34个问答
4715

组播在Ubuntu中可用,在win7上不可用

   
本帖最后由 9crk 于 2015-8-24 16:57 编辑

测试使用live555修改sento函数为组播,在ubuntu下,使用vlc接收组播,播放正常;虚拟机使用桥接网络模式,win7下用vlc接收组播,不会播放,且显示未接收任何数据,但wireshark抓包对比发现ubuntu和win7接收的组播数据都一模一样。




现在最小化测试,使用最简单的UDP组播代码,发现:
虚拟主机与真实主机不能组播,即使能抓到wireshark包;
虚拟主机和虚拟主机,以及虚拟主机和自身,都可以组播;

求解?本人使用的是virtualbox


最新测试:真实主机与真实主机之间也组播失败。
我来回答
回答4个
时间排序
认可量排序

david

41个粉丝

368

问答

253

专栏

229

资料

david 2015-08-24 16:42:09
认可0
只在win7下搞过广播。帮顶。

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk 2015-08-25 10:18:38
认可0
根据 网上说法,虚拟机 桥接模式,不会转发组播包,必须使用host-only。

然而继续测试,发现:
板子发 PC收    失败
PC发,板子收  成功
发送代码如下:
[code]#include

#include

#include

#include
#include
#include
#include
#include

#define SERV_PORT        5350
#define MCAST_PORT        5350
#define MCAST_ADDR        "224.0.0.251"
#define MCAST_INTERVAL        2

int main(int argc,char **argv)
{
int sock_fd;

struct sockaddr_in mcast_addr,addr_serv,addr_client;
char send_buf[]="tigerjibo";
char recv_buf[1024];
int serv_len,mcast_len;
int send_num;
int recv_num;
int err;
struct ip_mreq mreq;
sock_fd = socket(AF_INET,SOCK_DGRAM,0);

memset(&mcast_addr,0,sizeof(mcast_addr));
mcast_addr.sin_family = AF_INET;
mcast_addr.sin_addr.s_addr = inet_addr(MCAST_ADDR);
mcast_addr.sin_port = htons(MCAST_PORT);
while(1){
        printf("begin send:\n");
        send_num = sendto(sock_fd,send_buf,strlen(send_buf),0,(struct sockaddr *)&mcast_addr,sizeof(mcast_addr));
        if( send_num< 0){
                perror("sendto()");
                exit(1);
        } else{
                printf("send sucessful\n");
        }
        usleep(1000);
}
close(sock_fd);
return 0;
}[/code]

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk 2015-08-25 11:55:45
认可0
最新发现与路由器有关。换个路由器就可以收到组播了。

9crk

1个粉丝

34

问答

0

专栏

6

资料

9crk 2015-10-09 00:23:34
认可0
结贴:跟虚拟机的bridge模式有关
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区