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のタイムアウトを設定する方法はありますか?助けてください。