ページ 11

コールバック関数の作成

Posted: 2011年2月18日(金) 21:28
by shiro4ao
TCPで通信するクラスを作成しようとしています。
今はTcpClient02.h内のRecvThreadMainの中でrecvしてprintfを呼んでいますが、
本当はクラスを使う人が、受信データをどうしたいかを決められるようにしたいのです。
どのようにすればいいのでしょう。

コールバック関数を考えたのですが、いまだによく理解できていません。
それとも根本からおかしいのでしょうか?
ご解答いただければ幸いです。

Re: コールバック関数の作成

Posted: 2011年2月18日(金) 22:09
by うしお
こんばんは。
winsock2は使ったことがありませんが、
ユーザが処理を記述しそれを呼び出すならば、
単に関数ポインタを使用する方法、
継承とポリモーフィズムを使用する方法(ユーザに抽象クラスのメソッドをオーバーライドしてもらう)、
std::functionを使用する方法などがあります。
挑戦してみてください。

Re: コールバック関数の作成

Posted: 2011年2月18日(金) 22:34
by shiro4ao
>うしおさん
ありがとうございます。
関数ポインタをつかって実装できました!
しかし、コールバック関数についてまだなんとなくしか
理解出来ていないのでもうすこし勉強してみようと思います。
他の方法も教えていただきありがとうございました。
これにて解決にさせていただきたいと思います。