设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 18000|回复: 24
打印 上一主题 下一主题

java客户端无法收到OnAnyChatTransBufferEx回调

[复制链接]

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
跳转到指定楼层
#
发表于 2014-6-23 16:34:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
你好,我的服务端和客户端都用java开发,而且在同一台电脑上,使用扩展透明通道传输数据。现在客户端登录后能收到OnAnyChatLoginMessage回调,而且客户端向服务器发送扩展透明通道数据时,服务器能收到,但是服务器向客户端发送扩展透明通道数据时,客户端的OnAnyChatTransBufferEx回调却没有触发。请问怎么解决?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
推荐
发表于 2014-6-24 11:59:56 | 只看该作者
廖斌 发表于 2014-6-24 11:03
好的,谢谢你的反馈

您好,问题找到了。将AnyChatCoreSdk.java中的OnTransBufferExCallBack改成
  1. private void OnTransBufferExCallBack(int userid, byte[] buf, int len,
  2.                         int wparam, int lparam, int taskid) {
  3.                 if (AnyChatCoreSDK.this.transDataEvent != null)
  4.                         AnyChatCoreSDK.this.transDataEvent.OnAnyChatTransBufferEx(userid,
  5.                                         buf, len, wparam, lparam, taskid);
复制代码
然后再试下,看能不能收到扩展透明通道数据
回复 支持 1 反对 0

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
推荐
发表于 2014-6-23 17:57:44 | 只看该作者
您好,建议升级客户端SDK、服务器到最新版本V5.0,从log看,您还是使用的老版本。
回复 支持 1 反对 0

使用道具 举报

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
22#
 楼主| 发表于 2014-6-25 09:43:43 | 只看该作者
廖斌 发表于 2014-6-24 11:59
您好,问题找到了。将AnyChatCoreSdk.java中的OnTransBufferExCallBack改成然后再试下,看能不能收到扩展 ...

可以了,谢谢!
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
21#
发表于 2014-6-24 11:03:44 | 只看该作者
熊仔饼干 发表于 2014-6-24 10:59
嗯,我试了从服务器同时用扩展通道和透明通道向客户端发数据,客户端只有透明通道回调被触发,这可能是你 ...

好的,谢谢你的反馈
回复 支持 反对

使用道具 举报

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
20#
 楼主| 发表于 2014-6-24 10:59:56 | 只看该作者
廖斌 发表于 2014-6-24 10:50
嗯,知道了,谢谢您的反馈!我们这边也排查下!

嗯,我试了从服务器同时用扩展通道和透明通道向客户端发数据,客户端只有透明通道回调被触发,这可能是你们的一个bug。希望排查出结果后能在这里通告一声,谢谢!
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
19#
发表于 2014-6-24 10:50:40 | 只看该作者
熊仔饼干 发表于 2014-6-24 10:30
因为没有输出"onanychatTransBufferEx"的调试信息。
        @Override
        public void OnAnyChatTransBufferEx( ...

嗯,知道了,谢谢您的反馈!我们这边也排查下!
回复 支持 反对

使用道具 举报

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
18#
 楼主| 发表于 2014-6-24 10:30:16 | 只看该作者
廖斌 发表于 2014-6-24 10:21
是的,从日志来看,是收到数据了。你是怎么判断没有触发回调的呢?

因为没有输出"onanychatTransBufferEx"的调试信息。
        @Override
        public void OnAnyChatTransBufferEx(int dwUserid, byte[] lpBuf, int dwLen,
                        int wparam, int lparam, int taskid) {
                System.out.println("onanychatTransBufferEx");
                try {
                        String text = new String(lpBuf, NetworkSetting.CHARSET);
                        nlc.onReceiveText(text);
                } catch (UnsupportedEncodingException e) {
                        SG.getInfoHandler().handleException(e);
                }
        }
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
17#
发表于 2014-6-24 10:21:44 | 只看该作者
熊仔饼干 发表于 2014-6-24 10:16
从日志上看,内核好像是收到扩展通道回调了,但为什么回调方法没有触发呢。。。

[2014-06-24 10:09:46 ...

是的,从日志来看,是收到数据了。你是怎么判断没有触发回调的呢?
回复 支持 反对

使用道具 举报

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
16#
 楼主| 发表于 2014-6-24 10:16:59 | 只看该作者
廖斌 发表于 2014-6-24 10:05
您可以在客户端开启调试模式,得到更多的日志,以便分析这个问题。调试模式的开启方法参考
http://www.a ...

从日志上看,内核好像是收到扩展通道回调了,但为什么回调方法没有触发呢。。。

[2014-06-24 10:09:46(325)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2014-06-24 10:09:46(326)]        Load BRAnyChatCore.dll success!(V5.0 Build Time:Jun 13 2014 19:49:43)
[2014-06-24 10:09:46(332)]        Load BRMiscUtil.dll success!(V5.0 Build Time:Jun 13 2014 19:48:01)
[2014-06-24 10:09:46(404)]        Load BRMediaUtil.dll success!(V5.0 Build Time:Jun 13 2014 19:46:58)
[2014-06-24 10:09:46(406)]        Load BRMediaShow.dll success!(V5.0 Build Time:Jun 13 2014 19:47:57)
[2014-06-24 10:09:46(413)]        Load BRMediaCore.dll success!(V5.0 Build Time:Jun 13 2014 19:48:19)
[2014-06-24 10:09:46(446)]        BRAC_Connect---->
[2014-06-24 10:09:46(447)]        Invoke        BRAC_Connect(192.168.1.200,8906)=0
[2014-06-24 10:09:46(448)]        <----BRAC_Connect
[2014-06-24 10:09:46(448)]        BRAC_Login---->
[2014-06-24 10:09:46(449)]        Invoke        LoginServer(username=ZHU_JIANG_HOSPITAL)
[2014-06-24 10:09:46(449)]        <----BRAC_Login
[2014-06-24 10:09:46(509)]        CheckClientSocketLink         Connect(ip=192.168.1.200,port=8906)
[2014-06-24 10:09:46(651)]        Server version: V5.0(Build Time:2014-06-13 19:48:59, Server OS:Windows)
[2014-06-24 10:09:46(662)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2014-06-24 10:09:46(668)]        Begin NotifyMsg Callback(msg:1, wParam:1, lParam:0)
[2014-06-24 10:09:46(669)]        End NotifyMsg Callback
[2014-06-24 10:09:46(732)]        Message        OnLoginSystem(userid=-6,errorcode=0,username=ZHU_JIANG_HOSPITAL), msg deliver worked(0)
[2014-06-24 10:09:46(740)]        Begin NotifyMsg Callback(msg:2, wParam:-6, lParam:0)
[2014-06-24 10:09:46(768)]        BRAC_TransBufferEx---->
[2014-06-24 10:09:46(769)]        Invoke        BRAC_TransBufferEx(dwUserid=0, buf[0]=0x5b, buf[131]=0x5d, len=132, rc=0, dwTaskId:15127)
[2014-06-24 10:09:46(769)]        <----BRAC_TransBufferEx
[2014-06-24 10:09:46(771)]        End NotifyMsg Callback
[2014-06-24 10:09:46(773)]        Connection to streaming media server successfully!(udp delay:15ms)
[2014-06-24 10:09:47(044)]        OnTransBufferExCallBack(dwUserId:0, buf[0]=0x5b, buf[73]=0x5d, len=74)
[2014-06-24 10:09:47(052)]        Begin TransBufferEx Callback
[2014-06-24 10:09:47(052)]        End TransBufferEx Callback
[2014-06-24 10:09:47(367)]        Success add upnp map(port:2548, tcp)
[2014-06-24 10:09:47(381)]        Success add upnp map(port:60755, udp)
[2014-06-24 10:09:47(466)]        Trans Task Status: srcUserId:0, tarUserId:-6, TaskId:7071, Status:3, Bitrate:0kbps
[2014-06-24 10:09:47(466)]        Trans Task Status: srcUserId:-6, tarUserId:0, TaskId:15127, Status:3, Bitrate:0kbps
[2014-06-24 10:09:48(476)]        Trans Task Status: srcUserId:0, tarUserId:-6, TaskId:7071, Status:3, Bitrate:0kbps
[2014-06-24 10:09:48(476)]        Trans Task Status: srcUserId:-6, tarUserId:0, TaskId:15127, Status:3, Bitrate:0kbps

回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
15#
发表于 2014-6-24 10:05:08 | 只看该作者
熊仔饼干 发表于 2014-6-24 10:01
设置了,昨天测试改为透明通道是能收到回调的,只是扩展通道不行。

您可以在客户端开启调试模式,得到更多的日志,以便分析这个问题。调试模式的开启方法参考
http://www.anychat.cn/faq/index. ... =266&artlang=zh
也就是在Java工程根目录下面建立AnyChatSdk.ini,然后添加如下配置项
[Debug Settings]
OutputTransBuffer=1
OutputTransTask=1
OutputCallBackInvoke=1
OutputAPIInvoke=1
回复 支持 反对

使用道具 举报

4

主题

23

帖子

76

积分

注册会员

Rank: 2

积分
76
14#
 楼主| 发表于 2014-6-24 10:01:15 | 只看该作者
廖斌 发表于 2014-6-24 09:45
在初始化SDK之后,有设置SetTransDataEvent扩展透明通道回调数据接收吗?

设置了,昨天测试改为透明通道是能收到回调的,只是扩展通道不行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-24 01:08 , Processed in 0.159386 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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