同一マシン(WindowsNT4.0)内で、
プロセスaからプロセスbへデータを送りたい場合、
以下の方法があると思います。
(1)ファイル・マッピングによる仮想メモリ空間の共有化
(2)Winsock通信によるデータ転送
どちらが、処理時間は短いのでしょうか?
また、他に良い方法があれば、教えてください。
_______________________________________________________
佐藤 匡弘 Sato, Masahiro
(株)日立製作所 生産技術研究所
TEL 045-881-1241 ex3111 (~18:00)
FAX 045-860-1621
E-mail: sat...@perl.hitachi.co.jp
In article <01bcda82$31bffa80$3376...@BSA197B01.perl.hitachi.co.jp>
"sato masahiro" <sat...@perl.hitachi.co.jp> writes:
* 同一マシン(WindowsNT4.0)内で、
* プロセスaからプロセスbへデータを送りたい場合、
* 以下の方法があると思います。
* (1)ファイル・マッピングによる仮想メモリ空間の共有化
* (2)Winsock通信によるデータ転送
* どちらが、処理時間は短いのでしょうか?
* また、他に良い方法があれば、教えてください。
処理時間は(1)が短いですが、基本的にデータ共有機能
ですので、データを送るには自前でプロトコルを組む必要
があるでしょう。あと変更を通知する機能ではないので
データの変更をポーリングするか、他の方法で通知する
必要があります。
(1),(2)以外の方法としては
(3)Windowsメッセージ
2ワード程度のデータを送るには効率的でしょう。
(4)名前付きパイプ
バイト単位とパケット単位の通信が選べます。
(5)メールスロット
データグラム通信です。
あと通信というより同期機能ですが
(6)イベントフラグ
(7)ミューテックス
(8)セマフォー
あたりはファイルマッピングとの組み合わせで
威力を発揮するのではないかと思います。