设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: 淡竹叶
打印 上一主题 下一主题

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

[复制链接]

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
11#
 楼主| 发表于 2015-10-20 15:57:20 | 只看该作者
陈文仲 发表于 2015-10-20 14:25
您好,互相加为好友时,有没有将信息同步给指定的客户端呢?

您好,什么意思?服务端加好友操作后,还需要客户端进行什么操作才可以正常查询好友状态?
回复 支持 反对

使用道具 举报

12#
发表于 2015-10-20 16:01:27 | 只看该作者
淡竹叶 发表于 2015-10-20 15:57
您好,什么意思?服务端加好友操作后,还需要客户端进行什么操作才可以正常查询好友状态?

您好,服务器还需要将好友信息同步给客户端。
方法如下:
  1. BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_SYNCDATA,  0, 0);
复制代码
服务端将信息同步给客户端时,会同时触发客户端两个回调:
  1. // 用户信息更新通知,dwUserId表示用户ID号,dwType表示更新类别
  2. function OnAnyChatUserInfoUpdate(dwUserId, dwType) {
  3.         AddLog("OnAnyChatUserInfoUpdate(dwUserId=" + dwUserId + ", dwType=" + dwType + ")", LOG_TYPE_EVENT);
  4. }

  5. // 好友在线状态变化,dwUserId表示好友用户ID号,dwStatus表示用户的当前活动状态:0 离线, 1 上线
  6. function OnAnyChatFriendStatus(dwUserId, dwStatus) {
  7.         AddLog("OnAnyChatFriendStatus(dwUserId=" + dwUserId + ", dwStatus=" + dwStatus + ")", LOG_TYPE_EVENT);
  8.        
  9. }
复制代码
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
13#
 楼主| 发表于 2015-10-20 16:25:46 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-20 16:01
您好,服务器还需要将好友信息同步给客户端。
方法如下:服务端将信息同步给客户端时,会同时触发客户端 ...

您这两个回调函数只做了打日志的操作,并不会影响我获取指定用户的在线状态,为什么我在不在线获取的状态都是0呢
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
14#
 楼主| 发表于 2015-10-20 16:27:07 | 只看该作者
佰锐科技-李友勤 发表于 2015-10-20 16:01
您好,服务器还需要将好友信息同步给客户端。
方法如下:服务端将信息同步给客户端时,会同时触发客户端 ...

您的意思是BRAS_UserInfoControl(dwUserId, BRAS_USERINFO_CTRLCODE_SYNCDATA,  0, 0);这个会对获取在线状态有影响??
回复 支持 反对

使用道具 举报

3

主题

57

帖子

759

积分

高级会员

Rank: 4

积分
759
15#
发表于 2015-10-20 16:36:21 | 只看该作者
淡竹叶 发表于 2015-10-20 16:25
您这两个回调函数只做了打日志的操作,并不会影响我获取指定用户的在线状态,为什么我在不在线获取的状态 ...

触发OnAnyChatUserInfoUpdate 这个回调,且dwType为0才表示数据更新成功,您那边先用BRAC_GetUserFriends获取一下好友列表看看是否有对方的id。
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
16#
 楼主| 发表于 2015-10-21 08:42:58 | 只看该作者
陈文仲 发表于 2015-10-20 16:36
触发OnAnyChatUserInfoUpdate 这个回调,且dwType为0才表示数据更新成功,您那边先用BRAC_GetUserFriends ...

同步之后,能拿到好友列表了,但是用户注销后,取其在线状态还是1(在线)。而且用户注销的时候也同步给web端了
回复 支持 反对

使用道具 举报

17#
发表于 2015-10-21 08:59:58 | 只看该作者
淡竹叶 发表于 2015-10-21 08:42
同步之后,能拿到好友列表了,但是用户注销后,取其在线状态还是1(在线)。而且用户注销的时候也同步给w ...

您好,请将用户注销的日志发过来看看;其在线状态是在web端获取不?
回复 支持 反对

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

积分
170
18#
 楼主| 发表于 2015-10-21 10:00:28 | 只看该作者
佰锐科技-邵光清 发表于 2015-10-21 08:59
您好,请将用户注销的日志发过来看看;其在线状态是在web端获取不?

是web端获取,你要的是核心服务的日志还是业务服务的日志。我的注销是退出app不是手动注销
回复 支持 反对

使用道具 举报

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

使用道具 举报

6

主题

53

帖子

170

积分

注册会员

Rank: 2

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 04:53 , Processed in 0.127681 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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