私は自分のプログラムでスレッドを使用していません。しかし、このサードパーティ製のアプリケーションで問題が発生しています。C++での並列スレッドに関する一般的な質問
オフサイトバックアップソリューションであり、サーバーと多数のクライアントを備えています。私たちにはすべてのクライアントを管理するための管理コンソールがあり、そこには問題があります。
クライアント側のアプリケーションの1つが停止したり、壊れた状態で実行されている場合、管理コンソールは永遠に応答を待って何も表示しません。
$for(client= client1; client < last_client; client++){ if (getOServConnection(client, &socHandler)!=NULL) { .. } }
私はこれには2つのソリューションを求めています。とにかく知りたいのですが、関数getOServConnectionのタイムアウトを設定できるので、X秒以内に応答が得られます。
そして、この関数をすべてのクライアントに対して並列に呼び出す方法を知りたいので、X秒以内にすべてのクライアントからの応答を取得します。
getOServConnectionにはWSAConnect呼び出しが含まれています。ソケット上のオプションは使用しません。これは他のモジュールで使用されており、アプリケーションに深刻な影響を与えるためです。
ええ、私はスレッドを使用することに決めました。私はCreateThread()を使ってスレッドを開始し、forループに入れてdoステータスを取得するWaitforMultipleObjects。 – roymustang86