AnyChat技术支持论坛

标题: 组播问题 [打印本页]

作者: asdasd    时间: 2016-1-5 11:38
标题: 组播问题
我按照论坛中示例的提示,设置了组播策略,但是不能用  问题可能出在哪呢

作者: 佰锐科技-李永星    时间: 2016-1-5 11:41
本帖最后由 佰锐科技-李永星 于 2016-1-5 11:43 编辑

您好,请参考此贴http://bbs.anychat.cn/forum.php? ... tid=1987&highlight=×鲥
AnyChat IP组播示例程序及文档



作者: asdasd    时间: 2016-1-5 11:59
佰锐科技-李永星 发表于 2016-1-5 11:41
您好,请参考此贴http://bbs.anychat.cn/forum.php? ... tid=1987&highlight=×鲥
AnyChat IP组播示例程序 ...

您好 我就是参考这个示例程序做的,结果实现不了组播 ,感觉很奇怪
作者: 佰锐科技-陈伟    时间: 2016-1-5 12:06
asdasd 发表于 2016-1-5 11:59
您好 我就是参考这个示例程序做的,结果实现不了组播 ,感觉很奇怪

您好  IP组播技术需要三层交换机,或路由器支持  请参考什么是IP组播技术,有什么作用?

作者: asdasd    时间: 2016-1-5 12:37
我用的是路由器,用您的示例测试的时候可以组播,用我自己的程序就不行
作者: 佰锐科技-邵光清    时间: 2016-1-5 12:52
asdasd 发表于 2016-1-5 12:37
我用的是路由器,用您的示例测试的时候可以组播,用我自己的程序就不行

您好,请将设置组播策略+加入组播的代码发上来分析,谢谢!
作者: asdasd    时间: 2016-1-5 13:07
佰锐科技-邵光清 发表于 2016-1-5 12:52
您好,请将设置组播策略+加入组播的代码发上来分析,谢谢!

int multiCast = AnyChatCoreSDK.BRAC_MCPOLITIC_SERVERANDSERVERMC;
            int dwFlags = AnyChatCoreSDK.BRAC_MCFLAGS_JOINGROUP | AnyChatCoreSDK.BRAC_MCFLAGS_SENDDATA | AnyChatCoreSDK.BRAC_MCFLAGS_RECVDATA;
            AnyChatCoreSDK.SetSDKOption(AnyChatCoreSDK.BRAC_SO_NETWORK_MULTICASTPOLITIC, ref multiCast, sizeof(int));
            AnyChatCoreSDK.MultiCastControl("224.2.3.4", 8100, "", 5, dwFlags);
作者: asdasd    时间: 2016-1-5 13:07
asdasd 发表于 2016-1-5 13:07
int multiCast = AnyChatCoreSDK.BRAC_MCPOLITIC_SERVERANDSERVERMC;
            int dwFlags = AnyCha ...

我用的是C#

作者: 佰锐科技-邵光清    时间: 2016-1-5 14:06
本帖最后由 佰锐科技-邵光清 于 2016-1-5 14:23 编辑
asdasd 发表于 2016-1-5 13:07
int multiCast = AnyChatCoreSDK.BRAC_MCPOLITIC_SERVERANDSERVERMC;
            int dwFlags = AnyCha ...

您好,这两句改为这样,是否OK?
  1. AnyChatCoreSDK.BRAC_SetSDKOption(AnyChatCoreSDK.BRAC_SO_NETWORK_MULTICASTPOLITIC, ref multiCast, sizeof(int));
  2. AnyChatCoreSDK.BRAC_MultiCastControl("224.2.3.4", 8100, "", 5, dwFlags);
复制代码

作者: asdasd    时间: 2016-1-5 14:15
不行  改成这样要报错   必须得袋中AnyChatCoreSDK调用

作者: asdasd    时间: 2016-1-11 14:03
佰锐科技-邵光清 发表于 2016-1-5 14:06
您好,这两句改为这样,是否OK?

我在测试的时候一台电脑用的是网站上的示例 ,一台电脑用的是自己写的客户端,就可以实现组播
如果我两台PC都用自己写的客户端就不能实现组播
作者: admin    时间: 2016-1-11 14:11
您可以对比一下日志文件(您自己写的程序的日志文件,以及标准示例代码的日志文件):BRAnyChatCore.log,位于可执行程序目录下(Web版本位于插件安装目录下),看看是否能发现一些差异?
作者: asdasd    时间: 2016-1-11 14:29
测试程序的日志
[2016-01-11 14:23:06(695)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-01-11 14:23:06(695)]        Load BRAnyChatCore.dll success!(V5.3 Build Time:Aug 10 2015 12:20:22)
[2016-01-11 14:23:07(028)]        Load BRMiscUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:50)
[2016-01-11 14:23:07(127)]        Load BRMediaUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:02)
[2016-01-11 14:23:07(161)]        Load BRMediaShow.dll success!(V5.3 Build Time:Aug 10 2015 12:20:53)
[2016-01-11 14:23:07(202)]        Load BRMediaCore.dll success!(V5.3 Build Time:Aug 10 2015 12:21:04)
[2016-01-11 14:23:08(806)]        Support video show pixfmt:YUV420P
[2016-01-11 14:23:21(234)]        Invoke        Connect(192.168.1.104,8906)=0
[2016-01-11 14:23:21(237)]        Invoke        LoginServer(username=123)
[2016-01-11 14:23:21(241)]        CheckClientSocketLink         Connect(ip=192.168.1.104,port=8906)
[2016-01-11 14:23:21(406)]        Server version: V5.2(Build Time:2015-01-19 11:33:43, Server OS:Windows)
[2016-01-11 14:23:21(419)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-01-11 14:23:21(468)]        Message        OnLoginSystem(userid=-2,errorcode=0,username=123), msg deliver worked(1)
[2016-01-11 14:23:21(501)]        Server running time: 0 days, 0 hours, 1 minutes, license mode:0
[2016-01-11 14:23:21(519)]        Success add upnp map(port:50445, tcp)
[2016-01-11 14:23:21(553)]        Success add upnp map(port:60336, udp)
[2016-01-11 14:23:21(569)]        Connection to streaming media server successfully!(udp delay:31ms)
[2016-01-11 14:23:24(829)]        Invoke        EnterRoom(roomid=1)
[2016-01-11 14:23:24(873)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=0)
[2016-01-11 14:23:24(881)]        Message        OnReceiveOnlineUser(count=1,roomid=1)
[2016-01-11 14:23:24(903)]        Invoke        UserSpeakControl(userid=-2,bOpen=1)
[2016-01-11 14:23:25(111)]        WaveIn Audio Capture Driver(麦克风 (High Definition Audio )
[2016-01-11 14:23:25(127)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2016-01-11 14:23:25(128)]        Invoke        UserCameraControl(userid=-2, bOpen=1, stream=0)
[2016-01-11 14:23:25(144)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2016-01-11 14:23:25(150)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-01-11 14:23:25(160)]        Invoke        SetVideoPos(dwUserId:-2, hWnd:0x10572, l:27, t:26, r:165, b:130)
[2016-01-11 14:23:25(369)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2016-01-11 14:23:26(237)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x32595559)
[2016-01-11 14:23:26(261)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x8d2681)
[2016-01-11 14:23:26(264)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x32595559)
[2016-01-11 14:23:26(266)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x8d2681)
[2016-01-11 14:23:26(269)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUY2, 0x32595559)
[2016-01-11 14:23:26(271)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUY2, 0x8d2681)
[2016-01-11 14:23:26(274)]        Video Config Size(320, 240)        Format(YUY2, 25fps)
[2016-01-11 14:23:26(393)]        video init finish:320x240, YUY2, fps:30, codecid:1
[2016-01-11 14:23:27(372)]        video codec init:codec:1, 15fps, 320x240, bitrate:90kbps, quality:3, preset:3, gop:30, handle:2
[2016-01-11 14:23:52(294)]        Message        OnUserEnterRoom(userid=-3,nickname=guest001,siteindex=1)
[2016-01-11 14:23:52(297)]        Invoke        UserSpeakControl(userid=-3,bOpen=1)
[2016-01-11 14:23:52(299)]        Invoke        UserCameraControl(userid=-3, bOpen=1, stream=0)
[2016-01-11 14:23:52(301)]        Invoke        SetVideoPos(dwUserId:-3, hWnd:0x10586, l:105, t:26, r:487, b:312)
[2016-01-11 14:23:52(810)]        userid(-3) audio decode, codec:11, 1 channel, 16000Hz
[2016-01-11 14:23:52(993)]        On Remote UserCameraControl(dwUserId:-3, bOpen:1)
[2016-01-11 14:23:52(995)]        On Remote UserSpeakControl(dwUserId:-3, bOpen:1)
[2016-01-11 14:23:53(037)]        Message        OnP2PConnectState(userid=-3, state=1)
[2016-01-11 14:23:53(269)]        Message        OnP2PConnectState(userid=-3, state=3)
[2016-01-11 14:23:55(065)]        userid(-3) video decode, codec:1, 320x240, delay:16ms
[2016-01-11 14:24:10(601)]        Invoke        AudioGetVolume(device:1, dwVolume:50)=0
[2016-01-11 14:24:10(603)]        Invoke        AudioGetVolume(device:0, dwVolume:50)=0
[2016-01-11 14:25:42(583)]        Message        OnP2PConnectState(userid=-3, state=2)
[2016-01-11 14:25:42(585)]        Message        OnP2PConnectState(userid=-3, state=0)
[2016-01-11 14:25:42(588)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=0)
[2016-01-11 14:27:25(200)]        Invoke        UserSpeakControl(userid=-2,bOpen=0)
[2016-01-11 14:27:25(216)]        Invoke        UserCameraControl(userid=-2, bOpen=0, stream=0)
[2016-01-11 14:27:25(377)]        Invoke        UserSpeakControl(userid=-3,bOpen=0)
[2016-01-11 14:27:25(380)]        Invoke        UserCameraControl(userid=-3, bOpen=0, stream=0)
[2016-01-11 14:27:25(501)]        Invoke        LeaveRoom(roomid=-1)        Elapse:109 ms
[2016-01-11 14:27:30(921)]        Invoke        LogoutServer(userid=-2)        Elapse:31 ms
[2016-01-11 14:27:30(980)]        Invoke        BRAC_Release        Elapse:125 ms

作者: asdasd    时间: 2016-1-11 14:29
我的程序的日志
[2016-01-11 14:20:12(898)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-01-11 14:20:12(899)]        Load BRAnyChatCore.dll success!(V5.3 Build Time:Aug 10 2015 12:20:22)
[2016-01-11 14:20:13(075)]        Load BRMiscUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:50)
[2016-01-11 14:20:14(355)]        Load BRMediaUtil.dll success!(V5.3 Build Time:Aug 10 2015 12:20:02)
[2016-01-11 14:20:14(381)]        Load BRMediaShow.dll success!(V5.3 Build Time:Aug 10 2015 12:20:53)
[2016-01-11 14:20:14(412)]        Load BRMediaCore.dll success!(V5.3 Build Time:Aug 10 2015 12:21:04)
[2016-01-11 14:20:14(594)]        Invoke        Connect(192.168.1.104,8906)=0
[2016-01-11 14:20:14(595)]        Invoke        LoginServer(username=guest001)
[2016-01-11 14:20:14(666)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2016-01-11 14:20:14(666)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-01-11 14:20:14(676)]        CheckClientSocketLink         Connect(ip=192.168.1.104,port=8906)
[2016-01-11 14:20:14(847)]        Server version: V5.2(Build Time:2015-01-19 11:33:43, Server OS:Windows)
[2016-01-11 14:20:15(058)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-01-11 14:20:15(339)]        Message        OnLoginSystem(userid=-3,errorcode=0,username=guest001), msg deliver worked(1)
[2016-01-11 14:20:15(341)]        Server running time: 0 days, 0 hours, 1 minutes, license mode:0
[2016-01-11 14:20:15(371)]        Success add upnp map(port:61921, tcp)
[2016-01-11 14:20:15(392)]        Connection to streaming media server successfully!(udp delay:31ms)
[2016-01-11 14:20:15(395)]        Success add upnp map(port:51814, udp)
[2016-01-11 14:20:15(929)]        Invoke        EnterRoom(roomid=1)
[2016-01-11 14:20:16(176)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=1)
[2016-01-11 14:20:16(220)]        Message        OnReceiveOnlineUser(count=2,roomid=1)
[2016-01-11 14:20:16(221)]        On Remote UserSpeakControl(dwUserId:-2, bOpen:1)
[2016-01-11 14:20:16(222)]        On Remote UserCameraControl(dwUserId:-2, bOpen:1)
[2016-01-11 14:20:16(223)]        Invoke        SetVideoPos(dwUserId:-1, hWnd:0x13053e, l:0, t:0, r:167, b:140)
[2016-01-11 14:20:16(224)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2016-01-11 14:20:16(225)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-01-11 14:20:16(318)]        WaveIn Audio Capture Driver(Internal Microphone (Conexant S)
[2016-01-11 14:20:16(319)]        Audio Init, error:0, device:0, 1, 16000, 16, capmode:0
[2016-01-11 14:20:16(335)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-01-11 14:20:16(401)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2016-01-11 14:20:16(452)]        Invoke        SetVideoPos(dwUserId:-2, hWnd:0xb00f2, l:0, t:0, r:480, b:384)
[2016-01-11 14:20:16(452)]        Invoke        UserCameraControl(userid=-2, bOpen=1, stream=0)
[2016-01-11 14:20:16(453)]        Invoke        UserSpeakControl(userid=-2,bOpen=1)
[2016-01-11 14:20:16(453)]        Audio Playback Device Init(0, 1, 16000, 16), WaveOut Playback Driver
[2016-01-11 14:20:16(662)]        Message        OnP2PConnectState(userid=-2, state=1)
[2016-01-11 14:20:16(909)]        userid(-2) video decode, codec:1, 320x240, delay:47ms
[2016-01-11 14:20:16(920)]        Message        OnP2PConnectState(userid=-2, state=3)
[2016-01-11 14:20:17(278)]        MinCroppingSize(640, 480)        MaxCroppingSize(640, 480)        Format(YUY2, 0x32595559)
[2016-01-11 14:20:17(279)]        MinCroppingSize(320, 240)        MaxCroppingSize(320, 240)        Format(YUY2, 0x32595559)
[2016-01-11 14:20:17(279)]        MinCroppingSize(160, 120)        MaxCroppingSize(160, 120)        Format(YUY2, 0x32595559)
[2016-01-11 14:20:17(281)]        Video Config Size(320, 240)        Format(YUY2, 25fps)
[2016-01-11 14:20:17(342)]        video init finish:320x240, YUY2, fps:30, codecid:1
[2016-01-11 14:20:18(625)]        video codec init:codec:1, 15fps, 320x240, bitrate:90kbps, quality:3, preset:3, gop:30, handle:4
[2016-01-11 14:20:20(558)]        userid(-2) audio decode, codec:11, 1 channel, 16000Hz
[2016-01-11 14:22:06(282)]        OnSocketClose, index(3)-errorcode(0-0), flags:0x481, bTcp(1),userid(-2), list:0

[2016-01-11 14:22:06(290)]        Message        OnP2PConnectState(userid=-2, state=2)
[2016-01-11 14:22:06(291)]        Message        OnP2PConnectState(userid=-2, state=0)
[2016-01-11 14:23:49(114)]        On Remote UserSpeakControl(dwUserId:-2, bOpen:0)
[2016-01-11 14:23:49(115)]        On Remote UserCameraControl(dwUserId:-2, bOpen:0)
[2016-01-11 14:23:49(116)]        Message        OnUserLeaveRoom(userid=-2,siteindex=0)
[2016-01-11 14:24:40(258)]        Invoke        LeaveRoom(roomid=1)        Elapse:843 ms
[2016-01-11 14:24:40(296)]        Invoke        LogoutServer(userid=-3)        Elapse:47 ms
[2016-01-11 14:24:40(337)]        Invoke        BRAC_Release        Elapse:0 ms

作者: asdasd    时间: 2016-1-11 14:30
admin 发表于 2016-1-11 14:11
您可以对比一下日志文件(您自己写的程序的日志文件,以及标准示例代码的日志文件):BRAnyChatCore.log, ...

我将两个日志都贴出来了  我自己看了看 没看出什么区别  ,
Message        OnP2PConnectState(userid=-3, state=2) 这句话是什么意思
作者: 佰锐科技-陈伟    时间: 2016-1-11 15:02
本帖最后由 佰锐科技-陈伟 于 2016-1-11 15:03 编辑
asdasd 发表于 2016-1-11 14:30
我将两个日志都贴出来了  我自己看了看 没看出什么区别  ,
Message        OnP2PConnectState(userid=- ...

您好 state=2 表示P2P连接成功  UDP连接
作者: asdasd    时间: 2016-1-11 15:15
佰锐科技-陈伟 发表于 2016-1-11 15:02
您好 state=2 表示P2P连接成功  UDP连接

请问state=0,1,2,3分别都代表什么呢

作者: 佰锐科技-陈伟    时间: 2016-1-11 15:20
asdasd 发表于 2016-1-11 15:15
请问state=0,1,2,3分别都代表什么呢

您好  请参考 AnyChat for Windows SDK 开发手册

QQ截图20160111151912.png (118.66 KB, 下载次数: 2478)

QQ截图20160111151912.png





欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3