« モダンブラウザのタイマー処理の制限をWebSocketを使って突破する(WebWorkersについて追記あり) | メイン | モバイルガジェットだけでWebSocketネットワーク »

Androidで動かせるWebSocket Server「WSBroadcaster for Android」

「Android上で動くWebSocketサーバを作った」という話はいくつか聞いていたけど、実装例がなかなか出てこないので自分で作った。
下手に作り込んで汎用性がなくなるのも嫌なので、WebSocketのメッセージの中継に機能を絞っています。WebSocketのコアな部分はJettyにお任せ。通信キャリアが変なことをしていなければグローバルなIPアドレスでも使えるはずだけど、手元に環境がないため確認はできてない。また、所有している端末だと、80番ポートで起動できない。LInuxでは、80番ポートを開くためには権限が必要なので、多分これに起因する現象だと思う。rootedな端末ならもしかして起動できるかもしれない。

これで、出先で突然WebSocket Servserが必要になっても一安心ですね。
使い方
メイン画面は、上に起動/停止用のボタン、下にはServerのステータスと設定値が表示されている。

Port Numberはそのままの意味。

Response Typeは、受信したメッセージをどう扱うかを選択できる。「Nothing」は「何もしない」、「Echo」は「送信元に送り返す」、「Other」は「送信元を含まない全ての接続しているClientに再送信」、「All」は「送信元を含む全ての接続しているClientに再送信」、となっている。

Reriodic Messageは、全Clientに対してServerから定期的にメッセージを送るか否か。Interval of Reriodic Messageは、定期的なメッセージの間隔を秒で指定し、Text of Reriodic Messageはその内容。

設定値の変更は、オプションメニューから開ける設定画面で行う。
ToDo
ReadMeを書く。
メッセージを受け取った場合の動作をどうするのか。
仮に、ping frame送信機能を実装した場合、pong frame受信時の挙動をどうするのか。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド