C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: WSAAsyncSelectの通知内容


(過去ログ 91 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■54154 / inTopicNo.1)  WSAAsyncSelectの通知内容
  
□投稿者/ ライヒ (5回)-(2010/10/06(Wed) 23:56:45)

分類:[C/C++] 

WSock32.libを使用して、以下のようなサーバプログラムを作成しています。
 1.listenソケットに、WSAAsyncSelectで非同期設定。
   通知内容は、FD_ACCEPTとFD_CLOSE。
 2.FD_ACCEPTのタイミングで、子プログラムをCreateProcessで起動。
   ハンドル継承フラグ=TRUE。
   引数でacceptソケットを渡す。
 3.acceptソケットをクローズ。
 4.2へ。

2の後、子プログラム側で、acceptソケットをshutdown(how=2)すると、
サーバプログラム側のFD_CLOSEイベントが発生してしまいます。
(wParam=acceptソケット)

listenソケットに対して、WSAAsyncSelectしているので、
acceptソケットがクローズされても、FD_CLOSEは発生しないと思っていましたが、
こういう仕様なのでしょうか?

ご教授の程、お願いします。

実行環境:WindowsXP
開発環境:WSock32.lib、VC6(VC8でも同じ)

引用返信 編集キー/
■54165 / inTopicNo.2)  Re[1]: WSAAsyncSelectの通知内容
□投稿者/ ライヒ (6回)-(2010/10/07(Thu) 10:56:42)
No54154 (ライヒ さん) に返信
> listenソケットに対して、WSAAsyncSelectしているので、
> acceptソケットがクローズされても、FD_CLOSEは発生しないと思っていましたが、
> こういう仕様なのでしょうか?

MSDNに以下のようにありました。
「WSAAsyncSelect events set for the listening socket also apply to the accepted socket.」

質問を読んでいただいた方、お手数おかけしました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -