WSAAsyncSelectでsendを非同期にするには?

解決


困り者  2010-08-25 10:11:05  No: 71902  IP: [192.*.*.*]

WSAAsyncSelectでFD_WRITEを引数に指定しなければ、
send関数は非同期とはならないのでしょうか?

編集 削除
仲澤@失業者  2010-08-25 16:09:43  No: 71903  IP: [192.*.*.*]

答えは「いいえ」です。
  u_long flag=1;
  ioctlsocket( socket, FIONBIO, &flag);
で、できます。

WSAAsyncSelect()は、内部で
  1.対象ソケットをノンブロックに設定する
  2.対象イベントをselect()する
のように動作しているはずです。

編集 削除
困り者  2010-08-25 17:46:00  No: 71904  IP: [192.*.*.*]

ありがとうございます。

FD_WRITEを指定していなくても
ソケット自体がノンブロックになっているので
send関数もノンブロック
ということですね。

編集 削除
仲澤@失業者  2010-08-25 19:02:09  No: 71905  IP: [192.*.*.*]

そうです。

編集 削除