AnyChat技术支持论坛

标题: 超出授权点数的登陆错误代码 [打印本页]

作者: zhangss    时间: 2013-10-11 10:59
标题: 超出授权点数的登陆错误代码
//登录部分
#define GV_ERR_CERTIFY_FAIL 200 ///< 认证失败,用户名或密码有误
#define GV_ERR_ALREADY_LOGIN 201 ///< 该用户已登录
#define GV_ERR_ACCOUNT_LOCK 202 ///< 帐户已被暂时锁定
#define GV_ERR_IPADDR_LOCK 203 ///< IP地址已被暂时锁定
#define GV_ERR_VISITOR_DENY 204 ///< 游客登录被禁止
#define GV_ERR_INVALID_USERID 205 ///< 无效的用户ID(用户不存在)
#define GV_ERR_SERVERSDK_FAIL 206 ///< 与业务服务器连接失败,禁止登录
#define GV_ERR_SERVERSDK_TIMEOUT 207 ///< 业务服务器执行任务超时
#define GV_ERR_NOTLOGIN 208 ///< 没有登录


这是SDK说明里的。问下面几个问题:
1.调用login接口后,这些错误代码大约多久返回?给个时间段吧。
2.由于业务服务器没开返回206或207是么?
3.如果用户由于某些原因,未按流程而调出系统,重新进入时会提示201么?距掉线大约多久后重新进才不提示?能不能后来的直接进而不显示此错误
4.授权时如果购买了1个点,第二个人登录时返回的错误代码是204么?
5.login接口说明里,当密码为空时,代表游客。授权点内的用户密码为空不能实现么?位数有没有要求?
谢谢回答以上5个问题

作者: zhangss    时间: 2013-10-11 11:01
再加个问题:授权后,游客登陆一定会被禁止么?
作者: admin    时间: 2013-10-11 11:11
1、调用login接口后,这些错误代码大约多久返回?给个时间段吧

这网络延迟有关,AnyChat内部没有额外加延迟,基本的流程是:client(login)--->businessserver(verifyusercallback)---->client(onloginsystem),所以延迟就是网络延迟+ 业务服务器处理身份验证(比如查询数据库等)所带来的延迟;通常来说,局域网<10ms

2.由于业务服务器没开返回206或207是么?

是的,老版本的服务器会返回206,207是业务服务器执行任务超时,新版本的核心服务器在业务服务器没有启动时,会让用户以游客方式登录;

3.如果用户由于某些原因,未按流程而调出系统,重新进入时会提示201么?距掉线大约多久后重新进才不提示?能不能后来的直接进而不显示此错误

服务器检测掉线的周期是10s,超过10s,服务器会将之前的客户端踢掉,然后就可以重新登录;

4.授权时如果购买了1个点,第二个人登录时返回的错误代码是204么?

是的;

5.login接口说明里,当密码为空时,代表游客。授权点内的用户密码为空不能实现么?位数有没有要求?

密码为空代表游客,由核心服务器分配用户ID。如果希望由业务服务器处理这种情况,则客户端在调用Login时,可以传一个默认的password,比如:“123456”,这样就会触发业务服务器的OnVerifyUser回调函数。
作者: admin    时间: 2013-10-11 11:12
授权后,游客登陆一定会被禁止么

是否禁止游客登录与授权没有关系,与核心服务器的配置文件(AnyChatCoreServer.ini)里面的设置相关,请参考服务器用户手册,谢谢。
作者: Bro2    时间: 2013-10-30 14:58
admin 发表于 2013-10-11 11:11
这网络延迟有关,AnyChat内部没有额外加延迟,基本的流程是:client(login)--->businessserver(verifyuse ...

那么请问客户端怎么获取206,207等错误并进行相应处理了?我看见后台有打印但是不知道是从哪里来的
作者: 廖斌    时间: 2013-10-30 15:08
本帖最后由 廖斌 于 2013-10-30 15:10 编辑

206是业务服务器没有启动;207是登录验证的过程超时,可能是数据库操作等问题。
作者: Bro2    时间: 2013-10-30 15:18
廖斌 发表于 2013-10-30 15:08
206是业务服务器没有启动;207是登录验证的过程超时,可能是数据库操作等问题。

我是说怎样获得这些出错代码,比如:我有一个登录框,点击登录的时候进行连接服务器和登录,当连接服务器出错的时候,就在这个框下面显示对应的出错信息。
作者: 廖斌    时间: 2013-10-30 15:29
Bro2 发表于 2013-10-30 15:18
我是说怎样获得这些出错代码,比如:我有一个登录框,点击登录的时候进行连接服务器和登录,当连接服务器 ...

客户端连接和登录服务器的过程是异步的,比如Java客户端调用Login函数登录,会返回一个登录消息OnAnyChatLoginMessage(见AnychatDemo中)。在OnAnyChatLoginMessage函数的dwErrorCode是错误代码
作者: Bro2    时间: 2013-10-30 16:25
廖斌 发表于 2013-10-30 15:29
客户端连接和登录服务器的过程是异步的,比如Java客户端调用Login函数登录,会返回一个登录消息OnAnyChat ...

登录有那个dwErrorCode但是连接没有啊
作者: 廖斌    时间: 2013-10-30 16:34
Bro2 发表于 2013-10-30 16:25
登录有那个dwErrorCode但是连接没有啊

这个地方要做下处理。替换附件中的文件,就可以在OnAnyChatConnectMessage中拿到错误代码了

修改.rar

4.42 KB, 下载次数: 6


作者: admin    时间: 2013-10-30 16:53
在OnLinkClose中也可以拿到dwErrorCode,其中lParam就是。




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