C++搭建集群聊天室(十六):代码测试文档

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++搭建集群聊天室(十六):代码测试文档相关的知识,希望对你有一定的参考价值。

既然客户端都发出来了,总得开始测试一下了,虽然说在整集群,两手抓嘛。
测出来一些问题,还有不少问题潜在着。持续更新中


bug 1:

bug:登录、测试皆失败
寻病:debug调试
病灶:

char sql[128] = {0};

sprintf("insert into User(name,password,state) values('%s','%s','%s')",
        user.getname().c_str(),user.getpassword().c_str(),user.getstate().c_str());

由于 sprintf 函数没有正确的传入第一个参数,而传入的第二个参数又正好为字符串,则导致这条语句少传入一个参数,仅仅是报了个警告,注意到了,但是一眼没看出来,就放任了。

解决方法:将 sql 作为 sprintf 的第一个参数,正确传参。


bug 2

bug:在更新用户状态的时候报错
解决方法:一眼就看出那条 SQL 语句有问题,update 写成 updata 了。


bug 3(待解决)

服务端异常退出,但是客户端的状态为依然在线。

解决方案:捕捉信号,投放到 reset 中。

困难点:异常溜了,暂时还没捕捉到信号。
(其实就是忘了存了。。。下次做事手脚一定要麻利点,第一时间把状态保存下来,而不是继续往下测试。)


bug 4

单聊消息一发送,服务端就崩溃。

病灶:json解析找不到字段。

解决方案:
1、重新校准协议。
2、设置判断条件,提高代码健壮性。


bug 5

创建群组数据库执行失败。

用眼睛都能看出来是表名忽略了大小写。


以上是关于C++搭建集群聊天室(十六):代码测试文档的主要内容,如果未能解决你的问题,请参考以下文章

C++搭建集群聊天室:登录与注册

C++搭建集群聊天室:登录与注册

C++搭建集群聊天室:网络层代码与业务层代码(登录注册)解耦

C++搭建集群聊天室:网络层代码与业务层代码(登录注册)解耦

C++搭建集群聊天室:数据库代码及用户模型代码封装

C++搭建集群聊天室:数据库代码及用户模型代码封装