以前に、
http://madia.world.coocan.jp/vc/vc_bbs/200306_03060032.html
であった投稿と同じ質問なんですが、
CSocket から派生させたクライアント側のクラスでOnReceiveを
呼んで受信したいと考えています。
マルチポスト先を覗こうとしたのですが、見ることができなかったため、
新たに投稿させて頂きました。
開発環境は Windows2000SP4, VC6.0SP5 MFCで開発しています。
以前の投稿では、CAsyncSocketを使用しているのですが、CSocketでも
問題はないのでしょうか?
また、ケンタロ〜Kさんの意見では、メッセージループが必要と書かれていますが、
これは、どのようにするのでしょうか?
受信データがあった場合に、自動的にOnReceiveが呼ばれるのかなぁと想像
していました。
すみませんが、お教えください。お願い致します。
> マルチポスト先を覗こうとしたのですが、見ることができなかったため、
> 新たに投稿させて頂きました。
http://www.mtakahashi.com/old/08750.html#08745
ですね。
> 受信データがあった場合に、自動的にOnReceiveが呼ばれるのかなぁと想像
> していました。
そうですが,一度呼び出されるとそれ以降にrecv等を呼び出さないとOnReceiveは呼び出されません。
YuOさん
返信が遅れて申し訳ありません。
>http://www.mtakahashi.com/old/08750.html#08745
ありがとうございます。リンクが変わっていたのですね。
関数内でsendした後、recvを記述すれば、受信はできるのですが、
sendして関数内の処理を終え、OnReceive関数により、recvしようと
したのですが、ここの関数内に入りません。
(CSocketクラスから派生させたクラスの場合には、AsyncSelect
を呼ぶ必要はないですよね??)
CSocketから派生させたクラスでは、socket, connect等、c言語の
ソケット通信の書き方で書いているのですが、これが良くないので
しょうか。
勉強不足な面が多々ありますので、もう少し、試行錯誤してみます。
Create, Connectを使用して、Sendで送信する簡単なプログラム作成したら、
OnReceiveが呼ばれました。
ありがとうございました。
ツイート | ![]() |