设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
跳转到指定楼层
楼主
发表于 2015-10-19 19:20:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,BRAC_GetFriendStatus获取好友在线状态好像是要求在同一房间内,不进入房间如何获取指定userId的用户在线状态?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

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

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

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

使用道具 举报

15

主题

70

帖子

275

积分

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

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. }
复制代码
回复 支持 反对

使用道具 举报

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, "");
回复 支持 反对

使用道具 举报

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, "");
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
20#
 楼主| 发表于 2015-10-21 11:21:36 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-21 10:03
您好,注销后会触发其他用户的以下回调

这个会是实时的状态,我要随时调用查询状态
回复 支持 反对

使用道具 举报

19#
发表于 2015-10-21 10:03:22 | 只看该作者
本帖最后由 佰锐科技-李友勤 于 2015-10-21 10:07 编辑
淡竹叶 发表于 2015-10-21 08:42
同步之后,能拿到好友列表了,但是用户注销后,取其在线状态还是1(在线)。而且用户注销的时候也同步给w ...

您好,注销后会触发其他用户的以下回调
  1. // 好友在线状态变化,dwUserId表示好友用户ID号,dwStatus表示用户的当前活动状态:0 离线, 1 上线
  2. function OnAnyChatFriendStatus(dwUserId, dwStatus) {
  3.         AddLog("OnAnyChatFriendStatus(dwUserId=" + dwUserId + ", dwStatus=" + dwStatus + ")", LOG_TYPE_EVENT);
  4.       
  5. }
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-6 12:24 , Processed in 0.127503 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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