コールバック関数の作成

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
shiro4ao
記事: 224
登録日時: 14年前
住所: 広島

コールバック関数の作成

#1

投稿記事 by shiro4ao » 14年前

TCPで通信するクラスを作成しようとしています。
今はTcpClient02.h内のRecvThreadMainの中でrecvしてprintfを呼んでいますが、
本当はクラスを使う人が、受信データをどうしたいかを決められるようにしたいのです。
どのようにすればいいのでしょう。

コールバック関数を考えたのですが、いまだによく理解できていません。
それとも根本からおかしいのでしょうか?
ご解答いただければ幸いです。
添付ファイル
TcpClient02.h
(2.24 KiB) ダウンロード数: 92 回
client.cpp
(866 バイト) ダウンロード数: 96 回

アバター
うしお
記事: 56
登録日時: 14年前

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

#2

投稿記事 by うしお » 14年前

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

アバター
shiro4ao
記事: 224
登録日時: 14年前
住所: 広島

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

#3

投稿記事 by shiro4ao » 14年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る