3

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

4

0 回答 0