现在的位置: 首页 > 综合 > 正文

关于Error making query:MySQL server has gone away

2012年08月01日 ⁄ 综合 ⁄ 共 458字 ⁄ 字号 评论关闭

   最近发现之前做的一个项目运行之后总是出现“Error making query:MySQL server has gone away”的错误。其实项目很简单,一个是socket服务器端,一个是socket客户端;客户端发送请求给服务器端,服务器端收到请求从数据库中查询,再把结果发送给客户端。之前做好之后测试只是简单的发十几条消息,没有问题。但是,如果连续发消息(可间歇1秒),一段时间之后,服务器端就会挂掉出现下图的错误:

    研究了很久,以为是mysql的对象重复使用,导致最后出现问题。但是,代码里面的mysql对象是在函数中初始化的,函数退出之后,对象就销毁了。后来,还是一个同门提醒我的,问我的mysql使用完成之后,有没有关闭连接。我一试果然是这个问题,加入mysql_close(&mysql)问题就解决了。这个只能怪自己编写代码的过程中不够规范,测试用例不够多。最近,总是犯类似的错误,真需要好好反思了啊!细节往往决定了成败。一定要改变自己做事的细节,多多思考,才能成长。希望这篇博文对犯同样错误的人有启发

抱歉!评论已关闭.