はじめまして。
質問です。
AとBの2つのアプリケーション間をデータ通信したいのです。
条件として、
1台のPC内で2つのアプリをデータ通信させる。
A専用PCとB専用PC間をデータ通信させる。
この2つの条件に合った方法は有りますでしょうか。
ちなみに、2台のPC間の通信はLANを使って行った事が有りました。
よろしくお願いします。
ソケット通信させるならば、同一PC内でもLAN間でも
問題なくできます。
ただしセキュリティの設定がキチンとしてあるならば、両
方のPCの受信ポートは開けておく設定が必要です。
あと、文字列的送受信ならば、TCPよりもUDPの方が
楽(コードがすくなくてすむ)かな・・・
※ よい使い方ではありあませんが、SQL Server Express
を導入して、各々のアプリが、SqlDendency で通信用
DBのテーブルを監視しれば、Insetされれば、即、
取得できるので、イベントドリブン的動作は可能。
※ 取りこぼしする可能性がありますが・・・
どちらかのPCか、双方のPCで、通信用フォルダを
共有公開し、相手がそこにメッセージ通信用ファイル
を作成して書き込む。とか・・・
ファイルの作成監視すれば、SqlDependencyと同様に
イベントドリブンに動作が可能。
注意点は、相手先フォルダに直接OpenしてWriteして
いたら、Openの段階で相手先が拾ってしまう為、ロー
カル側にファイルを作成してから、一気にコピーする
方法が好ましい。
※ これもセキュリティーに関わりますが・・・
イベントログに書き込むという方法もあり・・・かと。
イベントログを監視するようにすれば、やはりイベン
トドリブン的に動作が可能。
あるものを使うか・・・ゼロから作るか・・・
どのみち、ある一定のスキルは必要です。
以上。参考まで
返信送れてすみません。
オショウさん、教えて頂きまして有難うございます。
後半はかなりスキルが必要なので、初心者の私は「ソケット通信」でしてみようと思います。
ちなみに「ソケット通信」とはTCP/IPを使っていたはずですが、PCを2台使っての通信はやった事が有るのですが、1台の時はどのようにすれば良いのでしょうか。
基本的には同じです。
ただ同一マシン上の場合、ポートアドレスが同じでは開けられません
ので、AプロセスとBプロセスとで、異なるポートを使用する必要が
あるだけで、IPアドレスは同じです。
2台のPCの場合は、IPアドレスは異なりますが、ポートは同じにな
ります。
以上。参考まで
ツイート | ![]() |