设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

进入房间返回错误207

[复制链接]

3

主题

9

帖子

43

积分

新手上路

Rank: 1

积分
43
跳转到指定楼层
楼主
发表于 2016-8-19 09:24:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
有几个坐席房间,当一个坐席进入一个房间,然后点击退出房间,并且BRAC_LeaveRoom的返回值是0了,但是当这个坐席进入重新第二个房间的时候就返回错误207了,请各位大神告诉是怎么回事呢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
地板
发表于 2016-8-19 18:57:43 | 只看该作者
您好,请将出错时的客户端日志、核心服务器日志发过来,我们帮您分析一下,谢谢。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

43

积分

新手上路

Rank: 1

积分
43
板凳
 楼主| 发表于 2016-8-19 09:49:27 | 只看该作者
佰锐科技-邵光清 发表于 2016-8-19 09:44
您好,请将业务服务器上的enterroom回调函数和leaveroom回调函数里面的逻辑代码发过来一下;另外,坐席BRAC ...

     离开房间是:
private void OnUserLeaveRoomActionCallBack(int userId, int roomId, int userValue)
        {

            //如果是客户端,客户端置进入房间信息,记录日志
            ReceptionClient client = GetClientById(userId);
            int a = _lstClient.Count;
            if (client != null)
            {
                this.Dispatcher.Invoke(new Action(() =>
                {
                    client.RoomID = 0;
                    client.RoomName = string.Empty;
                }));
            }
            //如果是坐席端,置房间状态,并广播给用户房间状态            
            ReceptionRoom room = GetRoomById(roomId);
            //byte[] sendCmd = receptionDataCmd.CreateCmdRoomStatus(room);
            if (room.RoomDoctorID == userId)
            {
                this.Dispatcher.Invoke(new Action(() =>
                {
                    //置空
                    room.RoomDoctorID = 0;
                    room.RoomDoctorName = string.Empty;

                    byte[] sendCmd = receptionDataCmd.CreateCmdRoomStatus(room);
                    foreach (var o in _lstClient)
                    {
                        //向所有用户发送房间更新操作
                        AnyChatServerSDK.BRAS_TransBuffer(o.UserID, sendCmd, sendCmd.Length);
                    }
                    AnyChatServerSDK.BRAS_TransBuffer(userId, sendCmd, sendCmd.Length);
                }));
            }
            else if (room.UserID == userId)
            {
                room.UserID = 0;
                byte[] sendCmd = receptionDataCmd.CreateCmdRoomStatus(room);
                foreach (var o in _lstClient)
                {
                    //向所有用户发送房间更新操作
                    AnyChatServerSDK.BRAS_TransBuffer(o.UserID, sendCmd, sendCmd.Length);
                }
            }
         

        }

进入房间的:
  private void OnUserEnterRoomActionCallBack(int userId, int roomId, int userValue)
        {
            //如果是坐席端,置房间状态,并广播给用户房间状态
            ReceptionRoom room = GetRoomById(roomId);//当前房间
         
            if (room.RoomDoctorID != userId)
            {
                room.UserID = userId;
            }

            byte[] sendCmd = receptionDataCmd.CreateCmdRoomStatus(room);
            foreach (var o in _lstClient)//其他在线用户
            {
                //向所有用户发送房间更新操作
                AnyChatServerSDK.BRAS_TransBuffer(o.UserID, sendCmd, sendCmd.Length);
            }

            foreach (var v in _lstRoom)//所有用户
            {
                if (v.RoomDoctorID != 0)
                {
                    AnyChatServerSDK.BRAS_TransBuffer(v.RoomDoctorID, sendCmd, sendCmd.Length);
                }
            }
        }

已经记录了的,并且已经返回所有房间的状态了
回复 支持 反对

使用道具 举报

沙发
发表于 2016-8-19 09:44:27 | 只看该作者
您好,请将业务服务器上的enterroom回调函数和leaveroom回调函数里面的逻辑代码发过来一下;另外,坐席BRAC_LeaveRoom之后,业务服务器上是否记录他离开了房间?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 19:59 , Processed in 0.114569 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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