设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
123
返回列表 发新帖
楼主: 淡竹叶
打印 上一主题 下一主题

不在一个房间内能否获取指定用户的在线状态

[复制链接]

0

主题

213

帖子

762

积分

高级会员

Rank: 4

积分
762
21#
发表于 2015-10-21 11:37:26 | 只看该作者
淡竹叶 发表于 2015-10-21 11:21
这个会是实时的状态,我要随时调用查询状态

您好,主动调用可以使用以下接口
  1. // 获取好友在线状态
  2. BRAC_API DWORD BRAC_GetFriendStatus(DWORD dwFriendUserId, DWORD& dwStatus);
复制代码
回复 支持 反对

使用道具 举报

22#
发表于 2015-10-21 11:59:45 | 只看该作者
淡竹叶 发表于 2015-10-21 11:21
这个会是实时的状态,我要随时调用查询状态

您好,请将你的调用代码段,贴出,我们来分析一下。
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
23#
 楼主| 发表于 2015-10-21 12:22:16 | 只看该作者
佰锐科技-李永星 发表于 2015-10-21 11:59
您好,请将你的调用代码段,贴出,我们来分析一下。

function getFriendStatus(dwFriendUserId){
        var list =BRAC_GetUserFriends();
        var errorcode = BRAC_GetFriendStatus(dwFriendUserId);
        return errorcode==1?true:false;
}

下面是服务器的同步加好友实现(web登录成功全给web加好友并同步给web)
for(OnlineUser u : list){
                AnyChatServerSDK.UserInfoControl(house.getAcUserId(), AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDFRIEND, u.getAcUserId(), 0, "");
           }
           AnyChatServerSDK.UserInfoControl(house.getAcUserId(), AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SYNCDATA, 0, 0, "");

app注销时,同步给web
int err2 = AnyChatServerSDK.UserInfoControl(house.getAcUserId(), AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SYNCDATA, 0, 0, "");
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
24#
 楼主| 发表于 2015-10-21 12:25:56 | 只看该作者
佰锐科技-李永星 发表于 2015-10-21 11:59
您好,请将你的调用代码段,贴出,我们来分析一下。

还有一块,app登录成功时给其加上web端好友,并同步给web
int err = AnyChatServerSDK.UserInfoControl(house.getAcUserId(), AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDFRIEND, chgUser.getAcUserId(), 0, "");
            int err2 = AnyChatServerSDK.UserInfoControl(house.getAcUserId(), AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SYNCDATA, 0, 0, "");
回复 支持 反对

使用道具 举报

25#
发表于 2015-10-21 12:53:44 | 只看该作者
淡竹叶 发表于 2015-10-21 12:25
还有一块,app登录成功时给其加上web端好友,并同步给web
int err = AnyChatServerSDK.UserInfoControl( ...

您好,我们上午通过demo测试,启动AnyChatCallCenterServer业务服务器,通过web客户端调用BRAC_GetFriendStatus方法,在退出,进入,以及关闭浏览器,都可以得到准确状态。你也可以实测一下这个场景测试一下。具体方式:启动核心服务器,callCenter业务服务器;然后修改Web项目AnyChatCallCenter源码,在界面上随便添加一个按钮,或是在
  1. // 好友在线状态变化,dwUserId表示好友用户ID号,dwStatus表示用户的当前活动状态:0 离线, 1 上线
  2. function OnAnyChatFriendStatus(dwUserId, dwStatus) {

  3. //        AddLog("OnAnyChatFriendStatus(dwUserId=" + dwUserId + ", dwStatus=" + dwStatus + ")", LOG_TYPE_EVENT);
  4.         if (dwStatus == USER_OFFLINE_STATUS) {                                // 下线
  5.                 removeOfflineUser(dwUserId);
  6.         }
  7. //添加一个获取好友状态方法
  8. alert(BRAC_GetFriendStatus(dwUserId));
  9. }
复制代码
回复 支持 反对

使用道具 举报

15

主题

70

帖子

275

积分

中级会员

Rank: 3Rank: 3

积分
275
26#
发表于 2015-10-30 10:20:06 | 只看该作者
佰锐科技-邵光清 发表于 2015-10-20 09:42
您好,这个回复有误,建立好友关系需要使用好友接口,目前callcenterserver业务服务器有集成了好友接口, ...

你好,贵司跟我说 存在 GetFriendUser、GetOnlineUser 两个接口获取在线用户 我这边是做业务服务开发,请问
服务端好像没有GetFriendUser 接口吧?
回复 支持 反对

使用道具 举报

27#
发表于 2015-10-30 10:38:17 | 只看该作者
ehomeud 发表于 2015-10-30 10:20
你好,贵司跟我说 存在 GetFriendUser、GetOnlineUser 两个接口获取在线用户 我这边是做业务服务开发,请 ...

您好,好友接口是相对来说的,只有在客户端登录后,才存在好友的说法,不知道您说的服务器获取好友是想实现什么样的需求呢?

anychat大厅好友解决方案可参考说明:AnyChat将提供完整的大厅好友解决方案
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 04:51 , Processed in 0.121839 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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