私はここで WSAAsyncSelect と NET についてたくさんの質問をしました。数か月前、私は報奨金に 500 担当者を費やし、自分で答えました (ラッパーを作成しました)。最終的に、フレームワークの winsock に慣れました。
今日、私はアンマネージ言語について質問しています。悪い点は、ソケットを使って物事を行うフレームワークの方法を見逃していることです.私は自分のプロジェクトを Delphi で書いていますが、C のような言語を理解しているので問題ありません。私は自然なものが大好きなので、純粋なコードのみを提案しないでください。:)
別の非表示フォームを作成し、そこにメッセージ ループを設定して、AsyncSelect を適切に使用することをお勧めします。
さて、私の質問は簡単です:私は自分の人生を楽にするために書いたwinsock関数全体をその隠しフォーム内に配置し、WSaAsyncSelectをそのハンドルで設定しました.メッセージループもそこにありますが、私は子クラスを書きました(多くのクラス、巨大なコード)、親クラスはその隠しフォームです。
WSAAsyncSelect はスレッドセーフですか? これは物事を遅くしますか(私がクラスで行ったこと)?
メッセージ ループの外側にスレッドを作成する必要がありますか?
AsyncSelect を適切に使用するためのその他のヒントをいただければ幸いです。
編集:誤解を避けるために、私は AsyncSelect() について直接尋ねています。私が取り組んでいるプロジェクトには、2 つのサーバーと 1 つのクライアントが必要ですが、その呼び出しでうまく処理できると思います。