我需要为 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 设置超时,以便它在指定的超时后返回?请帮忙。