こんにちは。
いつもお世話になっております。
Windows 7 Enterprise(x64) + VS2010 Professionalの環境下で、SDKで開発を行っております。
今回、Winsock2プログラミングに初挑戦なのですが、メインスレッドとは別にaccept関数で、待機しているスレッド(終了のフラグが立つまでパケット受信後も再度待機状態になるようなループのスレッド)を立てているアプリケーションで、設定の変更やアプリケーションの終了時に、このスレッドを安全に停止する方法がわからず困っております。
accept関数を実行すると、クライアント側からパケットを受信するまで待機状態になりますよね?
そうすると、TerminateThreadでスレッドを強制的に停止させないと、そのスレッドは停止できなくなってしまいませんか?
一般的なアプリケーションはこのような場合どのように安全にスレッドを停止させているのでしょうか?
またこのようにスレッド内でクライアントからのTCPパケットの受信を待機⇒受信後必要な処理をしたら再度待機⇒終了フラグでループを抜けてスレッドを終了、という動きをさせるときには、accept関数以外のものを利用するのでしょうか?
不勉強で申し訳ありませんが、何かヒントや参考になるサイトなどでも結構ですので、ご教授いただけないでしょうか?
よろしくお願いいたします。