OnReceiveを呼ばれるようにするには?

解決


geo  2003-10-18 07:41:23  No: 52312

以前に、
http://madia.world.coocan.jp/vc/vc_bbs/200306_03060032.html
であった投稿と同じ質問なんですが、
CSocket から派生させたクライアント側のクラスでOnReceiveを
呼んで受信したいと考えています。
マルチポスト先を覗こうとしたのですが、見ることができなかったため、
新たに投稿させて頂きました。
開発環境は Windows2000SP4, VC6.0SP5 MFCで開発しています。

以前の投稿では、CAsyncSocketを使用しているのですが、CSocketでも
問題はないのでしょうか?
また、ケンタロ〜Kさんの意見では、メッセージループが必要と書かれていますが、
これは、どのようにするのでしょうか?
受信データがあった場合に、自動的にOnReceiveが呼ばれるのかなぁと想像
していました。
すみませんが、お教えください。お願い致します。


YuO  2003-10-18 08:14:17  No: 52313

> マルチポスト先を覗こうとしたのですが、見ることができなかったため、
> 新たに投稿させて頂きました。

http://www.mtakahashi.com/old/08750.html#08745
ですね。

> 受信データがあった場合に、自動的にOnReceiveが呼ばれるのかなぁと想像
> していました。

そうですが,一度呼び出されるとそれ以降にrecv等を呼び出さないとOnReceiveは呼び出されません。


geo  2003-10-20 21:44:22  No: 52314

YuOさん
返信が遅れて申し訳ありません。

>http://www.mtakahashi.com/old/08750.html#08745

ありがとうございます。リンクが変わっていたのですね。

関数内でsendした後、recvを記述すれば、受信はできるのですが、
sendして関数内の処理を終え、OnReceive関数により、recvしようと
したのですが、ここの関数内に入りません。
(CSocketクラスから派生させたクラスの場合には、AsyncSelect
を呼ぶ必要はないですよね??)

CSocketから派生させたクラスでは、socket, connect等、c言語の
ソケット通信の書き方で書いているのですが、これが良くないので
しょうか。

勉強不足な面が多々ありますので、もう少し、試行錯誤してみます。


geo  2003-10-20 23:41:51  No: 52315

Create, Connectを使用して、Sendで送信する簡単なプログラム作成したら、
OnReceiveが呼ばれました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加