AnyChat技术支持论坛

标题: OnAnyChatTransBuffer收不到透明通道数据事件的响应 [打印本页]

作者: wdy    时间: 2016-10-21 14:12
标题: OnAnyChatTransBuffer收不到透明通道数据事件的响应

//发送结束会诊的透传消息
private void sendCloseCommand() {
    byte[] endTokenBytes = null;
    try {
        endTokenBytes = "close".getBytes("utf-8");
        mAnychatSDK.TransBuffer(-1, endTokenBytes, endTokenBytes.length);
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}
// 收到透明通道数据事件
@Override
public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen) {
    Log.d("OnAnyChatTransBuffer", "OnAnyChatTransBuffer");
    try {
        String str = new String(lpBuf, 0, dwLen, "utf-8");
        if ("close".equals(str)) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setCancelable(false);
            builder.setTitle(R.string.title_dlg_finish_consu).setMessage(R.string.text_dlg_finish_consu)
                    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                           finish();
                        }
                    }).show();
        }

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}发送是可以的,例如别人关闭了视频,我收不到这个响应,mAnychatSDK.SetTransDataEvent(this);也写了

作者: 佰锐科技-刘洋    时间: 2016-10-21 14:21
“利用该通道,可以向当前房间内的任何用户传输上层应用自定义的数据。”  别人关闭视频以后  离开房间了吗?
作者: 佰锐科技-邵光清    时间: 2016-10-22 10:54
本帖最后由 佰锐科技-邵光清 于 2016-10-22 10:58 编辑

您好,mAnychatSDK.TransBuffer(-1, endTokenBytes, endTokenBytes.length);-1是表示给房间内所有人发送透明通道信息,如果别人关闭了视频,已经离开了房间的话,他是收不到信息的;如果别人在房间外需要收到透明通道消息,那么TransBuffer需要传对方的id;





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