メッセージ送信ツールの作成(.NET)

ライブラリの取得

以下のページの.NET DLLの項目にあるサービスライブラリSIGService_<version>_vc2008_NET.zipをダウンロードし、展開します。

(VC++2010を使用する場合はSIGService_<version>_vc2010.zip)をダウンロード

設定

プロジェクト新規作成

VC++(2008)で新しいプロジェクトを作成します。ファイル→新規作成→プロジェクト

新しいプロジェクトのダイアログが立ち上がるとCLRのWindowsフォームアプリケーションを選択し、プロジェクト名を入力してOKボタンを押します。

dll参照

ソリューションエクスプローラの中のプロジェクトを右クリックして参照を選択します。 共通プロパティのFrameworkと参照を選択し、新しい参照の追加ボタンをクリックします。次に参照タブを選択して、上でダウンロードしたDebugフォルダの中にあるsigverse.dllを選択します。

ボタン追加

ツールボックスからButtonを選択して適当にボタンを追加します。

SendMessage1.jpg

イベントハンドラ

ボタンをダブルクリックしてイベントハンドラの中に以下のコードを追加してコンパイルします。

connectの引数で指定するホスト名とポート番号はSIGVerseサーバのホスト名(またはipアドレス)とポート番号に置き換えます。

(ReleaseモードでコンパイルするときはReleaseを選択します。)
 

ビルドが正常に行えるか確認してみてください。

実行

これで準備は整いました。

まずチュートリアルのサンプル人間型エージェントの操作の「コマンドによるエージェントの操作」をサーバ側で実行します。サーバ側でSIGVerseを起動するときには関数connectの第2引数で指定したポート番号を-pオプションで指定します。

サーバを起動したらビューワーからサーバに接続して"START"ボタンを押してシミュレーションを開始します。この状態でメッセージ送信プログラムを実行してみてください。エージェントがお辞儀したら成功です。

ビューワーからではなくMyServiceからメッセージ"Hello"を送信しました。

プラグインの登録

次に作成したサービスをプラグインとしてビューワーに登録し、ビューワーから起動する方法を説明します。

サービスサンプルを以下のように修正します。

MyService.cpp

SIGVerseサービスではサーバのホスト名とポート番号がメイン関数の引数として与えられます。

コンパイル

SIGViewerに読み込ませるようにするため、以下の設定をしてからビルドします。

  • ソリューションエクスプローラのプロジェクト名を右クリックし、参照を選択します。「構成プロパティ」→「リンカ」→「出力ファイル」で拡張子を.exeから.sigに変更します。

exeファイルを先に作って後から拡張子を.sigに変更しても同じことです。

ビューワーへ登録

ビルドが成功してDebug(もしくはRelease)フォルダにMyService.sigができたら次はビューワーにサービスを登録します。

  1. まずビューワーを立ち上げます。
     
  2. 上にあるメニューバーから「Service」→「Add」を選択します。
     
  3. サービスリストが立ち上がったら"Add"ボタンを押して作成したMyService.sigをサービスリストに追加します。
    MyService_1.PNG
  4. "OK"ボタンを押します。

実行

先ほどと同様に人間型エージェントの操作の「コマンドによるエージェントの操作」をサーバ側で実行します。ビューワーからサーバに接続して"START"ボタンを押してシミュレーションを開始します。

人間が手を下した状態になったら、メニューバーの「Service」→「Start」をクリックし、MyService.sigを選択し、サービスを開始します。

エージェントがお辞儀をすれば成功です。

Old version

メッセージ送信ツールの作成(v120330, v1.4.8)


Up:Tutorial     Previous:HMD+KINECT     Next:メッセージ送受信


Attach file: fileSendMessage1.jpg 550 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2013-04-22 (Mon) 12:01:43 (2035d)