[[Tutorial]]
#contents

*メッセージ送信ツールの作成。 [#g29217fd]
SIGVerseサーバのエージェントにメッセージを送信するツールを作成します。
ここではVC++.NET(2008)を使用することを前提とします。(VB,C#でもできる..はず)

**ライブラリの取得 [#nac2be19]
#ref(sigverse.dll)
上のdllファイルをダウンロードします。

**設定 [#l0e06e82]
***プロジェクト新規作成 [#yd34b304]
VC++の新しいプロジェクトを作成します。ファイル→新規作成→プロジェクト

新しいプロジェクトのダイアログが立ち上がるとCLRのWindowsフォームアプリケーションを選択し、プロジェクト名を入力してOKボタンを押します。
***dll参照 [#wf35673c]
ソリューションエクスプローラの中のプロジェクトを右クリックして参照を選択します。
共通プロパティのFrameworkと参照を選択し、新しい参照の追加ボタンをクリックします。次に参照タブを選択して、上でダウンロードしたSendMessage.dllを選択します。
共通プロパティのFrameworkと参照を選択し、新しい参照の追加ボタンをクリックします。次に参照タブを選択して、上でダウンロードしたsigverse.dllを選択します。

***ボタン追加 [#j41162f6]
ツールボックスからButtonを選択して適当にボタンを追加します。
#ref(SendMessage1.jpg)

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

#highlight(cpp){{
//メッセージ送信オブジェクト作成
sigverse::MessageSender msg("test");
//サーバに接続します。
if(msg.connect("hostname",9001))
{
    //メッセージを作成します。
    char *strs[] = {  
        "Hello",
        };  
    //メッセージを"Hello"を送信します。
    msg.sendto("man_000",1,strs);
}
}}
***メッセージ送信オブジェクト作成 [#x2d2dab0]
MessageSenderのコンストラクタで引数で送信元の名前を指定します。

***connect [#q211cf8d]
msg.connectでサーバに接続します。1番目の引数"hostname"はSIGVerseサーバのホスト名に置き換えてください。2番目の引数はSIGVerseサーバのポート番号を入力します。
メッセージを送信するたびにconnectします。

***sendto [#uc444b00]
sendtoでメッセージを送信します。1番目の引数は送信相手を、2番目は送信するメッセージの数(配列のサイズ)、3番目はメッセージを指定します。



#highlight(end)

**メッセージ送信 [#i8773763]
これでボタンを押すと"man_000"にメッセージ"Hello"が送信できるようになりました。 

まずチュートリアルのサンプル[[人間型エージェントの操作]]の「コマンドによるエージェントの操作」のサンプルコードをサーバ側で実行します。
次にビューワーで接続し、"Send"ボタンを押してシミュレーションを開始します。

シミュレーション開始したら、先ほど作成したボタンを押してメッセージを送信します。
人間がお辞儀したらメッセージ送信成功です。


Front page   New List of pages Search Recent changes   Help   RSS of recent changes