• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:winsock windowprocでFD_WRITEの処理)

winsock windowprocでFD_WRITEの処理について

このQ&Aのポイント
  • 非同期処理でwindowprocでのデータ送信を行っています。
  • クライアントからサーバへのデータ送信後、サーバはクライアントにデータを送信します。
  • しかし、recvされた後にデータが空にならないため、FD_WRITEを実行するタイミングが分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

あーあ、WindowProcオーバーライドしちゃってるんだってのはおいといて(^^;; >クライアントから送信されたデータが、FD_READで認識し、NetWork_Recv()関数を使って受信します。 >その後、空になった時点で、FD_WRITEを実行すると思っていたのですが、recvされた後、データは空にならないのでしょうか? FD_WRITEは、「ソケットの送信バッファに空きができたことを通知」なんだから、受信の終了とは関係ないような。 クライアントへデータを投げつけ終わった(残りを投げることができる)タイミングを知るためのものだと思うんですが。 FD_CONNECTの直後、FD_READの前にFD_WRITE来てませんか?

poposan
質問者

お礼

いつもありがとうございます。 >あーあ、WindowProcオーバーライドしちゃってるんだってのはおいといて(^^;; MFCの使い方よく知らなくて、すみません。(^^; いろいろ事情があり、急遽VC++での開発になったので.... 教えて頂いているのに、本当に申し訳ありません。 いろいろ調べてみたら、sendの使いかたが間違っていました。すみませんでした。 気が焦っていたみたいで、見落としがありました。

関連するQ&A

専門家に質問してみよう