我需要设置mysql_real_connect的超时。问题是当服务器没有运行时超时很长,这会“冻结”我的应用程序。我尝试使用MYSQL_OPT_CONNECT_TIMEOUT但仍需要时间从mysql_real_connect返回。
示例代码:
MYSQL mysql;
unsigned int conn_timeout=1;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_OPT_CONNECT_TIMEOUT, &conn_timeout);
if(mysql_real_connect(&mysql, "localhost","root", "root", NULL, 3306, NULL,0) == FALSE)
{
cout<<"Connection Failed" ;
return 1;
}
cout<<"Connection Success";
如果服务器没有运行,则从mysql_real_connect返回需要20秒。
有没有办法为mysql_real_connect设置超时,以便在指定的超时后返回? 请帮忙。