インストール
書庫ファイル内の「IROHA.IPC.EventsClient.dll」「IROHA.IPC.EventsManager.dll」「IROHA.IPC.EventsServer.dll」を適当な場所に展開します。
使用方法およびサンプルプロジェクト作成
サンプルとしてサーバー用Windowsアプリケーション1つ、クライアント用Windowsアプリケーション2つを作成します。
サーバーの作成
- サーバー用のWindowsアプリケーションプロジェクトを開き、「IROHA.IPC.EventsManager.dll」「IROHA.IPC.EventsServer.dll」を参照に追加します。
- ツールボックスのカスタマイズで「IROHA.IPC.EventsServer.dll」を参照してIPCServerコントロールを追加します。
- IPCServerをフォームに貼り付けます。
- ビルドします。
クライアント1の作成
- クライアント1用のWindowsアプリケーションプロジェクトを開き、「IROHA.IPC.EventsManager.dll」「IROHA.IPC.EventsClient.dll」を参照に追加します。
- ツールボックスのカスタマイズで「IROHA.IPC.EventsClient.dll」を参照してIPCClientコントロールを追加します。
- IPCClientをフォームに貼り付けます。また、TextBox2つとButtonを1つ貼り付けます。
IPCClientのイベントグループに「1」を設定します。
- 以下のコードを実装します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox2.Text = "処理開始"
Application.DoEvents()
' プロジェクト名が「ProjectName」で、イベントグループが「2」のIPCClientに対してTextBox1の内容を非同期処理で送信
IpcClient1.SendMessage("ProjectName", 2, TextBox1.Text, False)
TextBox2.Text = "終了!"
End Sub
Private Sub IpcClient1_ReceiveMessage(ByVal objData As System.Object) Handles IpcClient1.ReceiveMessage
TextBox2.Text = "何か重たい処理中…"
Application.DoEvents()
System.Threading.Thread.Sleep(3000)
TextBox2.Text = objData
End Sub
- ビルドします。
クライアント2の作成
- クライアント2用のWindowsアプリケーションプロジェクトを開き、「IROHA.IPC.EventsManager.dll」「IROHA.IPC.EventsClient.dll」を参照に追加します。
- IPCClientをフォームに貼り付けます。また、TextBox2つとButtonを1つ貼り付けます。
IPCClientのイベントグループに「2」を設定します。
- 以下のコードを実装します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox2.Text = "処理開始"
Application.DoEvents()
' プロジェクト名が「ProjectName」で、イベントグループが「1」のIPCClientに対してTextBox1の内容を同期処理で送信
IpcClient1.SendMessage("ProjectName", 1, TextBox1.Text, True)
TextBox2.Text = "終了!"
End Sub
Private Sub IpcClient1_ReceiveMessage(ByVal objData As System.Object) Handles IpcClient1.ReceiveMessage
TextBox2.Text = "何か重たい処理中…"
Application.DoEvents()
System.Threading.Thread.Sleep(3000)
TextBox2.Text = objData
End Sub
- ビルドします。
サンプルの実行
- 書庫ファイル内の「IPCServer.config」をサーバー用Windowsアプリケーション実行ファイルがある場所に展開します。※1
- 書庫ファイル内の「IPCClient.config」をクライアント1及び2用Windowsアプリケーション実行ファイルがある場所に展開します。※1
※1 .NET Framework 1.0と.NET Framework 1.1で使用する構成ファイルが違います。実行環境にあったファイルを展開してください。
- サーバー用Windowsアプリケーションを実行します。
- クライアント1及び2用Windowsアプリケーションを実行します。
- クライアント1のTextBox1へ「Client1から送信」を入力しButton1を押下します。(非同期通信)
- クライアント1.TextBox2=「処理開始」
- クライアント1.TextBox2=「終了!」
- クライアント2.TextBox2=「何か重たい処理中・・・」
- クライアント2.TextBox2=「Client1から送信」
- クライアント2のTextBox1へ「Client2から送信」を入力しButton1を押下します。(同期通信)
- クライアント2.TextBox2=「処理開始」
- クライアント1.TextBox2=「何か重たい処理中・・・」
- クライアント1.TextBox2=「Client2から送信」
- クライアント2.TextBox2=「終了!」
注意事項
- このIPCCは著作権を侵害しない範囲内で、ご自由にお使いいただけます。
- このIPCCを使うことにより、どんな結果を招こうとも、製作者、著作者は一切その責任を負いません。
- 再配布を希望される方はご連絡ください。
- 再配布条件などが予告なく変更されるかもしれません。
ソース公開について
IPCCのソースファイルを有償にて公開しています。詳しくはiroha@grn.janis.or.jpまでお問い合わせ下さい。
|