io-completion-ports

    0

    1答えて

    私はWindows上でIOCPを使用しています。以前は、メソッドGetQueuedCompletionStatusを使用してキューをポーリングしていましたが、すべて正常でした。しかし、私がWSARecvで完了ルーチンを利用する方法でロジックをリファクタリングすることに決めたときは、常にエラーWSAEINVAL(10022)で失敗します。このコードはスレッドでCreateTread int flag

    0

    1答えて

    私はGetQueuedCompletionStatusは、彼らが作成された順にWSARecvとWSASend結果を返すことをどこかで読ん、この明確なを持っていないので、ここで私の質問です1つのクライアントとの接続を開き、サーバーは最初にWSARecvを呼び出し、WSASendを呼び出しますが、クライアントは何も送信しません。サーバーでは、GetQueuedCompletionStatusはWSAS

    0

    1答えて

    私がやりたいことは休暇です: 私は4つのスレッドを持っています。スレッドごとにIOCPを作成します。 スレッド関数の中で私はGetQueuedCompletionStatus(INIFINIT) を待ってからジョブを取得し、それを処理してから再び待ちます。 私は特定のスレッドにジョブを提出したいのですが、そのIOCPのPostQueuedCompletionStatusだけです。 しかし、私が望む

    1

    1答えて

    クライアントの接続を1つのプロセスで開始する必要があります。回避する必要のある重要な制限はConnectExをサポートしていないため、純粋なIOCP溶液。 私の最初の考えは、各ハンドルは、プレーン接続を使用して64個の接続を扱うことができる場所/セマンティクスを選択し、接続を処理するスレッドプールで、一度接続がIOCPを続行します。 しかし、これは動作しません。 selectが実行されると、別のソ

    1

    2答えて

    今日、私はCreateIoCompletionPort()を呼び出してから、WaitForSingleObject()に戻っHANDLEを渡すことができることを学びました: #include <Windows.h> int main() { HANDLE h = CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, 0, 0);

    1

    2答えて

    問題:My Completionport Serverは、さまざまなクライアントから不明なサイズのデータ​​を受け取ります。問題は、バッファオーバーランを回避する方法がわかりません/バッファにデータがオーバーフィルされないようにする方法です。 Quesitons: 1)私がWSARecv経由で受信呼び出しを行う場合、workerthreadはコールバック関数のように機能しますか?つまり、受信コール

    6

    1答えて

    私は自分の分散システム用のメッセージレイヤーを作成しています。私はIOCP、すなわちSocket.XXXAsyncメソッドを使用しています。私が今見つけた何 http://vadmyst.blogspot.com/2008/05/sample-code-for-tcp-server-using.html は、そのプログラムの先頭である(2:ここでは は私がやっているものにかなり近いもの(実際には、