kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

.NETリモーティング(IPC版)概要

C#でのプロセス間通信がよくわからなかったので調べてみました。一応、動作するアプリが作成できたので、メモしておきます。

用語

まず、いくつか言葉の定義を確認しました。

.NETリモーティング
アプリケーション同士の通信を簡単に行うことができる仕組み。

リモーティングのチャンネル
.NETリモーティングで使用する通信方式のこと。TCP、HTTP、IPCの3種類がある。速度は、IPC < TCP < HTTPの順に遅くなる。

IPC
同一PC内での通信方式。

アプリ画面(クライアント)

今回作成したアプリのクライアント側画面です。送信データのテキストボックスで、サーバ側に送信するデータを設定できます。送信ボタンを押すと、サーバへ通信を行ないます。サーバからの応答は、受信データのテキストボックスに表示されます。

アプリ画面(サーバ)

今回作成したアプリのサーバ側画面です。応答データのテキストボックスで、クライアント側へ返却するデータを設定できます。応答タイムラグの指定で、クライアントから要求を受けて、応答するまでの時間を調節できます。受信データのテキストボックスには、クライアントから受け取ったデータが表示されます。

アプリクラス図

今回作成したアプリ(クライアント、サーバ両方)の簡単なクラス図です。水色のクラスが、今回作成した部分です。黄色いクラスは、.NETが提供しているクラスです。