Eclipseで "Hello world" メッセージを送信するプログラムを作成 (ページ 4/5)
Eclipseによる iPush クライアント開発の手順
ステップ 13 - デモ用サブジェクト demo.eclipse.[あなたの名前] をサブスクライブ
ipushTCPConnect()をコールした後は、戻り値(connId の値)を確認する必要があります。接続が成功していれば、connId は 0 より大きい値になります。そうでない場合、connIdは 0 未満の値になります。
例題では、クライアントは connId が 0 より大きい値ならばコンソールに "Connect OK!" のメッセージを表示し、直後に ipushSubSubject() メソッドを呼び出してデモ用サブジェクトをサブスクライブするようにしています。
以下の引数が必要となります。
- コネクション ID: クライアントのコネクション ID。ここでは connId になります。
- サブジェクト名: サブスクライブされるサブジェクト名。ここでは demo.eclipse.[あなたの名前] になります。
[あなたの名前] はご自身のお名前もしくはその他の任意の文字列(シングルバイトの英数字を使用し、空白文字は含めないでください)になります。
サブスクライブされるサブジェクト名にあなた自身のお名前を使用するのは、サブジェクト名の重複を回避するためです。他の開発者も本稿に基づいて例題を実行しますので、他人が送信したメッセージを受信しないよう、サブジェクトのルート demo.eclipse にあなた自身のお名前を追加してください。
例題では、本稿の作成者の名前 tonyhsiao を用いております。
|
if (connId > 0) { |

図 20. メッセージ受信にあなたの名前を付与したサブジェクトをサブスクライブ
ステップ 14 - クイックフィックスで try/catch コードを追加
ipushSubSubject() メソッドのすぐ下の行に赤線が表示され、何らかのコードの誤りが示されています。左側のクイックフィックス・アイコンをクリックして [Surround with try/catch] を選択することで、Eclipseは try/catch コードの追加を助けます。

図 21. 左側のクイックフィックス・アイコンがコードの誤りを表示
|
try { |

図 22. クイックフィックスが try/catch コードの追加を支援
ステップ 15 - iPush サーバー接続に失敗した場合にエラーメッセージを表示
connId の値が 0 未満の場合に、iPush サーバーへの接続の失敗を通知するメッセージをクライアントに表示するようにします。
各リターンコードの内容については、iPush V2 Java API プログラミングガイド(ファイル名: iPushV2_PG_Java_v2.x.x.pdf)中のステータスコードに関するページを参照ください。
|
else { |

図 23. iPush サーバー接続に失敗した場合にエラーメッセージを表示
ステップ 16 - iPush サーバーから受信したメッセージを表示
メッセージを受け取ると、コールバック・メソッド onSubjectMessage() が呼び出されます。System.out.println() を使用し、サブジェクト名とメッセージ内容をコンソールに表示します。
onSubjectMessage() の引数は次の通りです。
- arg1: 受信したメッセージのサブジェクト名
- arg3: 受信メッセージの内容。バイト配列で保持されます。
- arg4: 受信メッセージのバイト長。
従って String(arg3, 0, arg4) はメッセージ内容のテキスト文字表現を返します。
|
System.out.println("Subject = " + arg1 + ", Data = " + new String(arg3, 0, arg4)); |

図 24. onSubjectMessage() により受信メッセージのサブジェクト名と内容を表示
ステップ 17 - main() 関数に iPushDemo クラスのインスタンスを作成
最後に main() 関数に iPushDemo クラスのインスタンスを作成して、iPush クライアントの例題を完成します。
|
new iPushDemo(); |

図 25. iPushDemo クラスのインスタンスを作成
| ページ 4/5 | 1 2 3 4 5 |