问题现象:
使用libmysqlclient编写一个客户端,参考相关说明在mysql_init之前和mysql_real_connect之后做了如下设置:
bool reconnect = 0;
mysql_options(db_handle, MYSQL_OPT_RECONNECT, &reconnect);
unsigned int uTimeOut = 1;
mysql_options(db_handle, MYSQL_OPT_CONNECT_TIMEOUT, &uTimeOut);
mysql_options(db_handle, MYSQL_OPT_READ_TIMEOUT, &uTimeOut);
mysql_options(db_handle, MYSQL_OPT_WRITE_TIMEOUT, &uTimeOut); 执行mysql_query时,断开网络,出现阻塞,程序会一直卡在这儿。
使用netstat -an | grep 3306 在数据库所在的机器上发现TCP链接已经中断,但在客户端所在的机器TCP连接还在ESTABLISHED中。经测试大概 15分钟后才会感知TCP连接中断。请教各位大神其中的原因!
使用libmysqlclient编写一个客户端,参考相关说明在mysql_init之前和mysql_real_connect之后做了如下设置:
bool reconnect = 0;
mysql_options(db_handle, MYSQL_OPT_RECONNECT, &reconnect);
unsigned int uTimeOut = 1;
mysql_options(db_handle, MYSQL_OPT_CONNECT_TIMEOUT, &uTimeOut);
mysql_options(db_handle, MYSQL_OPT_READ_TIMEOUT, &uTimeOut);
mysql_options(db_handle, MYSQL_OPT_WRITE_TIMEOUT, &uTimeOut); 执行mysql_query时,断开网络,出现阻塞,程序会一直卡在这儿。
使用netstat -an | grep 3306 在数据库所在的机器上发现TCP链接已经中断,但在客户端所在的机器TCP连接还在ESTABLISHED中。经测试大概 15分钟后才会感知TCP连接中断。请教各位大神其中的原因!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货