はじめまして。
以下の動作でよりよい方法を探しています。
ネットワーク上のあるサーバーからデータを参照、
もしあるデータの値が変わった場合、
ソフトウェアで特別な処理を行う。
今、CHttpConnectionを使用して
データ取得のコマンドをphpからリクエスト要求しようと考えてましたが、
この場合、「常にポーリングして問合せなくてはならない」という
欠点があります。
そこで、常にポーリングを行わずとも
サーバー上で変化したデータを取得する方法はありますか?
例えば、サーバー上のphp実行から指定PCへの送信等が出来るか?
といった事になりますが。
どうやらソケット通信を行う事で対応できそうです。
はたして、
CSocketクラスとCHttpConnectionクラスどちらが通信量を少なくして、
サーバー上のデータを取得する事ができるのでしょうか?
目的はデータ通信量を出来るだけ少なくする事です。
不明な点が多いと回答しようがありませんです(vv;)。
1.サーバーのアプリを開発するのかどうか。
2.参照するデータを更新する、クライアントアプリを開発するのかどうか。
3.更新されるデータの所在(ディスクファイル/メモリー/その他)。
以上の他、
4.サーバーとクライアントはWANをはさむかどうか。
5.クライアント側の要件は何か。
等ですね。
基本的にC/C++で組むなら「何でもアリ」なので、
抽象的な可能不可能論は無意味です(vv;)。
細かい事はさておき、
単にネット接続する通信量が
どのクラスでまたはどの方法で
少なくなるかが知りたいのです。
プロトコルにこだわらなければ通信データ量は
CSocket<CHttpConnection
にすることが可能です。
ただし、HTTPプロトコルを使うなら
CSocket=CHttpConnection
と言って差し支えありません。
細かいところというよりも、前提条件がごっそり抜けてるので回答しにくいです。
コメントありがとうございます。
各クラスでデータ通信量を測定したところ、
CSocket=CHttpConnection
とあまり変化はありませんでした。
CSocket<CHttpConnectionにしたとしても、
減少する割合は非常に少ないかと。
その他のクラスでネット通信が行える手法があれば、
教えて頂けると幸いです。