AnyChat技术支持论坛

标题: 关于连接数据库的问题 [打印本页]

作者: 龙少    时间: 2014-11-26 17:50
标题: 关于连接数据库的问题
我用的是AnyChatCSharpDemo客户端事例程序,服务器是AnyChatBussiness
麻烦帮我解决一下, 我在核心服务器上禁止了游客登录,那么 就需要进行验证,程序将会走正常模式调用业务服务器
        public static int OnVerifyUserCallBack(string userName, string password, ref int userID, ref int userLevel, IntPtr nickName, int len, int userValue)
        {
            userID = id;
            id = id + 1;
            string name;
            name = userName;
            MessageBox.Show(name);

            // 返回一个用户的昵称,若为空,则核心服务器会用userName来替代
           //string trueName = "返回的昵称";
            //byte[] toBytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("gb2312"), Encoding.UTF8.GetBytes(trueName));
            //Marshal.Copy(toBytes, 0, nickName, toBytes.Length);
            return 0;
        }

在这里我现在还没有连接数据库,根据开发指南,说的是返回0代表登陆成功,不就是代表我虽然设置了不允许游客登录,但是只要是输入用户名和密码不就可以进入,登陆成功吗?  
我在这里设置了弹框,但是业务服务器并没有弹框,是不是说明这个函数没有被调用,而且登陆后客户端显示登入服务器失败,代码出错204

核心服务器设置.png (2.33 KB, 下载次数: 7231)

核心服务器设置

核心服务器设置

客户端.png (23.35 KB, 下载次数: 7331)

客户端程序

客户端程序

客户端登陆.png (4.43 KB, 下载次数: 7204)

客户端登陆程序

客户端登陆程序

作者: 龙少    时间: 2014-11-26 17:58
对了,根据客服说的,错误代码的意思是不允许游客登录,但是我输入了密码啊。   应该走正常模式才对
作者: admin    时间: 2014-11-26 18:21
您好,请确认核心服务器与业务服务器是否连接成功?请上传核心服务器的日志文件(AnyChatCoreServer.log)以及业务服务器的日志文件(AnyChatServerSDK.log),我们帮您分析一下,谢谢。

在这里我现在还没有连接数据库,根据开发指南,说的是返回0代表登陆成功,不就是代表我虽然设置了不允许游客登录,但是只要是输入用户名和密码不就可以进入,登陆成功吗?  
您的理解是对的。

作者: 龙少    时间: 2014-11-26 18:43
admin 发表于 2014-11-26 18:21
您好,请确认核心服务器与业务服务器是否连接成功?请上传核心服务器的日志文件(AnyChatCoreServer.log) ...

好的     等一下  我现在在外面   一会就回复你
作者: 龙少    时间: 2014-11-26 19:51
标题: 核心服务器日志
本帖最后由 龙少 于 2014-11-26 19:57 编辑

核心服务器日志

核心服务器日志.rar

1.51 KB, 下载次数: 5

核心服务器日志

业务服务器日志.rar

904 Bytes, 下载次数: 3

业务服务器日志


作者: admin    时间: 2014-11-27 00:15
请再上传客户端的日志文件(BRAnyChatCore.log),谢谢!
作者: 龙少    时间: 2014-11-27 12:02
客户端日志文件

BRAnyChatCore.rar

1.62 KB, 下载次数: 1

客户端的日志文件


作者: admin    时间: 2014-11-27 12:13
您好,上面的日志没有出现您前面反馈的登录失败(errorcode=204)的问题?

[2014-11-26 20:35:54(452)]        Invoke        BRAC_Connect(127.0.0.1,8906)=0
[2014-11-26 20:35:54(452)]        Invoke        LoginServer(username=guest001)
[2014-11-26 20:35:54(517)]        Invoke        UserCameraControl(userid=-1,bOpen=1)
[2014-11-26 20:35:54(517)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2014-11-26 20:35:54(545)]        CheckClientSocketLink         Connect(ip=127.0.0.1,port=8906)
[2014-11-26 20:35:54(657)]        Server version: V5.1(Build Time:2014-11-05 22:20:07, Server OS:Windows)
[2014-11-26 20:35:54(664)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2014-11-26 20:35:54(708)]        Message        OnLoginSystem(userid=-2,errorcode=0,username=guest001), msg deliver worked(1)

从日志看,已经登录成功了(errorcode=0),userid=-2,是游客登录方式?或是没有启动业务服务器?
作者: 龙少    时间: 2014-11-27 13:06
admin 发表于 2014-11-27 12:13
您好,上面的日志没有出现您前面反馈的登录失败(errorcode=204)的问题?

没有啊     不应该啊   我已经禁止了游客登录了      我的业务服务器启动了啊   
作者: 龙少    时间: 2014-11-27 13:13
龙少 发表于 2014-11-27 13:06
没有啊     不应该啊   我已经禁止了游客登录了      我的业务服务器启动了啊

我又重新测试了一遍

效果.png (50.84 KB, 下载次数: 8658)

效果.png

所有的日志.rar

3.17 KB, 下载次数: 0

所有日志文件


作者: 龙少    时间: 2014-11-27 13:28
龙少 发表于 2014-11-27 13:13
我又重新测试了一遍

我在我的核心服务器的配置文件中禁止了游客登录        但是程序也没有用户信息验证的回调函数啊,我在用户设置那里设置了一个弹窗,但是程序并没有弹窗。  麻烦帮忙解决   

QQ截图20141127132632.png (7.87 KB, 下载次数: 4156)

QQ截图20141127132632.png

QQ截图20141127132657.png (15.58 KB, 下载次数: 4105)

QQ截图20141127132657.png

作者: 廖斌    时间: 2014-11-27 13:35
龙少 发表于 2014-11-27 13:28
我在我的核心服务器的配置文件中禁止了游客登录        但是程序也没有用户信息验证的回调函数啊,我在用 ...

您好,客户端那边登录函数需要传人密码,业务服务器才会触发登录验证回调onVerfyUserCallBack
作者: 龙少    时间: 2014-11-27 13:58
你好      你们的这个事例AnyChatCSharpDemo   一定有问题   因为核心服务器一旦禁止了游客登录,客户端就会返回错误代码204      因为那个程序根本没有走正常模式,因为走正常模式的话一定会弹框的      已经用你们BRAnyChatMeeting这个事例验证了,希望你们测试一下
作者: admin    时间: 2014-11-27 14:07
您好,AnyChatCSharpDemo的源代码位于SDK包:src\client\c#目录下。

该示例程序没有对输入的密码进行处理,所以造成了会以游客登录的现象:
  1. ret = AnyChatCoreSDK.Login(frmLogin.m_UserName, "", 0);
复制代码
另外需要说明一下的就是,下面两种情况都会造成游客模式登录:
1、调用API:BRAC_Login时没有传入密码;
2、没有启动业务服务器;
作者: 龙少    时间: 2014-11-27 14:14
我觉得分你们给的的那个事例有问题    AnyChatCSharpDemo   这个事例有问题     希望技术人员能测试一下     禁止游客登录    业务服务器验证返回0       他依然会报错误 204               用其他事例验证就没有问题
作者: 龙少    时间: 2014-11-27 14:16
admin 发表于 2014-11-27 14:07
您好,AnyChatCSharpDemo的源代码位于SDK包:src\client\c#目录下。

该示例程序没有对输入的密码进行处 ...

我应该怎么做才能做才能让他对密码进行处理         代码加在哪里?

作者: admin    时间: 2014-11-27 14:22
修改AnyChat for Windows SDK\src\client\c#\AnyChatCSharpDemo\frmRoom.cs,第143行:AnyChatCoreSDK.Login(frmLogin.m_UserName, "", 0);第二个参数不为“”即可。




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