とにかくやるブログ

とにかくやるブログ

プログラムの備忘録とその他雑記を適当にやるブログ

【Androidプログラム】WebSocketとスレッドについて触れる機会があったので書く

f:id:tewow:20190422225809j:plain
※関係ないアイキャッチ






表題について、仕事で触れたので書く。


正直あっさい内容しか書けない程度の知識しかないけど
鉄は熱いうちに打っておこうと思う。




”tavendo.autobahn”というライブラリを使った。

github.com

これでAndroidでWebSocket的なものを実現できるっぽい(ざっくり)




とりあえず、なんで急にこんなものを取り扱っているのかというと
とある仕事で使っているのだが(もちろん組み込んだのは自分ではない)
これを使っている箇所でエラーが出ているらしく、見る必要があったからだ。


自分にはまだこんなものを取り扱うような知識も経験もないが
せっかく触る機会があったし、また触る機会もあるかもなので
メモ書き程度にサラッと書いておこうというワケ。





Androidで画面を作ったり、ユーザーの操作を受け付けるといった主となる操作を行うプロセスをメインスレッドと言う。
そのメインスレッドとは別に(非同期的に)処理を行うプロセスをサブスレッドと言う。



このライブラリでSocketはサブスレッド上に存在し
ネットワークと通信を行っている。



WebSocketReaderクラスで通信を受け取り
notify()メソッドでハンドラにメッセージ(通信の結果)を渡している。
ハンドラは受け取ったメッセを検証して、それにあわせた処理を行っている。





ものっすごい走り書きだが
今回はそこまで踏み込んだ内容を書く時間も知識もないので一旦最低限ここまで。


AndroidはベースはLinuxらしいので時間を見つけてLinuxの学習もしておきたいところ。
あと、それこそWebSocketとかについても。





とはいえ、いまちょうどGitについての参考書に手を出したばかりなので、そちらを終わらせてからかなー。