I / Oが重複しているTCP接続要求を開始し、Windowsで接続が完了する前にキャンセルすることはできますか?少なくともWindowsXPSP2をサポートする必要があります。
2271 次
2 に答える
6
ConnectEx
重複した接続の試行を許可します。
これをキャンセルするには、あたかもそれがであるかCancelIo
のように渡すことを使用する必要があります(実際にはそうです)。ただし、これは、を呼び出したのと同じスレッドから実行する必要があります。スレッドの特異性を実現できるように管理するのは簡単ではありません。SOCKET
HANDLE
ConnectEx
XP / 2003(つまり、Vista / 2008/8 / 2008R2)CancelIoEx
以降は、別のスレッドから使用できます(OVERLAPPED
インスタンスはIO操作を完全に識別するために使用されます)。
于 2011-10-10T14:57:28.790 に答える
0
ここから:
オーバーラップ
このディレクトリには、オーバーラップしたI/Oを使用するサンプルサーバープログラムが含まれています。サンプルプログラムは、AcceptEx関数とオーバーラップI / Oを使用して、クライアントからの複数の非同期接続要求を効果的に処理します。サーバーはAcceptEx関数を使用して、シングルスレッドのWin32アプリケーションでさまざまなクライアント接続を多重化します。オーバーラップしたI/Oを使用すると、スケーラビリティが向上します。
于 2011-10-10T14:54:09.030 に答える