kgrss's blog

プログラムを中心にいろいろなことを記事にしていきます!

まさかまさかの・・・WebSocketさん

どーも、こがらしです。

先日、これ便利だよ!使うっきゃないねとか言ってたWebSocket on Unityでございますが、
今日ふとiOSでビルドしようかなと思ったわけなのですが、あれれビルドできない・・・

どうもSystem.WebBrowser周りでエラー担っているご様子(うろ覚え
というわけで壮大にiOSでも動くよ!とか言ってたのが恥ずかしいです///
けど、Unity勉強会でWebSocketの話が出てくるくらいだから動くはず!
自分はそのときの勉強会には参加してないんですけどねー。

ほんとあんまりUnityとか詳しくないんでこういうよくわからない具象が発生すると何もできないんだなーと実感します。。

そういえば会社でのAndroid端末でWebViewが正しく表示できないことがあって、
調べる限りだと問題のない機種のはずなんですけどねー。
その機種はXperia acro (docomo)なんですよ!
バージョンを確認すると4.0.1.C.21だったかな?(やっぱりうろ覚え
それでそれで念のためファームウェア更新してみようかという話になって、4.0.1.C.24にバージョンを上げると不思議にもその不具合は解消されたんですよー。

まさかまさかAndroid 2.3で出てくるとは思いませんでした。
どうしてこうなったのかとかよくわからないんですが、お手持ちの機種ももしかしたら・・・!

とまあauのacro持ってて何もなかったこがらしでしたー。
ではではー

UnityでとりあえずWebSocketしてみた

どもども、こがらしです。

仕事が一段落ついたのをいいことに、これからのためになるもの(自分の興味のあること)をやってます。

それが先日のUnityのAndroid連携ツールだったり、今回の記事の内容だったりするわけです。
それではまぁ本題ですねー。

前回はUnity上からAndroidの操作を楽にするためのツールでしたが、
今回はAndroid/iOS上でのデバッグの役にたてばなー、といった趣旨のツールです(?

厳密にはツールじゃないですね。

先にサンプルのURLでも。
http://kogarasi.com/unity_weblog

普段みんながDebug.Logとかをしていると思いますが、
これって結局実機をPCにつながないと見れないわけですが、、
特にAndroidなんですが非常にログの吐き出しが激しいです笑
Arrows Zとか鬼のようなログなんですが、
検証をしてて挙動が怪しい!ってなってからlogcatで見ようとしても、
ログが流れて見れない!なんてことが結構あったり・・・
プログラマーとかは見ながらとかしたりできますが、みんながみんなできないんですよねー。

なら、サーバーに投げちゃえ!
ということで作ってみました。

実装方法に関してはかなり個人のやりたいことを押し出して作ってます笑
クライアント/サーバー(/ビューワ)間の通信にはWebSocketを利用してます。
実際結構便利な機能の割に実装が簡単なのでみんながんがん使ったらいいと思います。
次にサーバー側ですが、一時的なデータのキャッシュ場所としてredisを一応おいてあります。
一応っていうのは、現状のサンプルではデータの保存しかしてないからですね。
のちのちここからバックログを拾えるようにしていかないとです(じゃないと意味がないので)

ちなみに実装の大部分をgithub上で公開されているライブラリたちを利用しています。
直接的に利用しているのは下記のです。

Ratchet - Websocketサーバ(PHP)
Predis - Redisクライアント(PHP)
websocket-sharp - Websocketクライアント(C#)

Ratchetとかは内部的にはSymphonyとかが含まれてて、環境準備をすると結構大きい部類に入るのかなーといった感じです。
どのライブラリも実にシンプルで使い勝手がいいので是非ともといった感じです!

特に、Ratchetは単純にwebsocketサーバのためのライブラリではなくて色々なサーバとして拡張が可能なので使いこなせるとパフォーマンスが高いと思いますよ!

最後にですが、一応今回のwebsocketによるロギングのサンプルはもうちょっと整えたらgithubにでもあげますー。

あっ、そういえばwebsocket-sharpをAndroid用にビルドしようとしたら.Net2.0 subsetじゃビルドが通らなかったです泣
詳しい方フォロー等いただけると助かりますー

それでは。

デスマそして...

どーも、こがらしです。

木曜・金曜とデスマをして死んでました笑
えっ、こんなんじゃデスマって言わないって?
まぁそうですよね、たった二日間ですし笑


それでもまだ木曜日は仕方ないかなとは思ってたんですが、金曜日はなかなかにきつい状態でしたねー。
せっかく会社の方で楽しく過ごしているところだったのに!

おかげさまでまあ終電を逃す始末でした笑


土曜日は知り合いの方の企画で花火してきました!
ほんと納涼会って感じでしたー。
ハイテンションなメンバーが危険でした苦笑


そんなこんなでいろいろ楽しんだ土曜日まででしたが、日曜日の今日は打って変わって疲れからずっと寝てました^^
せっかくの休日なのにって感じでしたねー
仮面ライダーウィザードも見逃しましたしね!

明日からまた仕事か、、、早いですねー
また一週間がんばりましょう!

ではではー

人狼。そして・・・

どーも、こがらしです。

昨日は知り合いの方が主催したイベントへ行ってきましたー。

人狼をする会だったわけですが、過去に2回ほどやりましたがやはり今回も熱い!

昨日のイベントの時には1部・2部で分かれていて、
2部の時には上級者さまさまといった感じで空気になるしかない感じでした・・・


まぁそれはおいておいてというか、
最近ずっと電車の中で小説を読んでいてしばらくMBAくんで作業をしていなくってですね、
昨日はちょっと作業しようかなーと思ってたら
いろいろ更新だったり、必要なものをダウンロードしたりしてたら往復ともどもなんもせずに終わっちゃったって言う事態になってました笑

特にAndroidとかAndroidとかAndroidなんですがねー笑

昨日はまぁそんな感じでした。

今日も別のイベントに行って楽しんできますよー笑

それではー

Android Connector その2

こんばんは、こがらしです。

昨日公開した、Android Connectorですが早くも今日も機能更新とバグ修正をしました。

まずはバグの方ですが、
adbに接続しているデバイスの認識やAPKインストールを行うのにプロセスを立ち上げて行っていました。
その部分のマルチスレッド対応を手を抜いていたのでめっちゃくちゃエラーが出てました笑
というわけで、エラーが出ないように対応をしましたー。

そして機能というか細かい部分ではありますが、
・adbへのファイルパスを指定できるようにしました。
今まで"adb"としかしていなかったのでパスの通っていない環境では動作できなかったので・・・

・adbに接続しているモデル名を表示するようにした。
・APKの更新時刻の取り方を変更
・端末ごとに最新のAPKをインストールしたか、していないかを表示するように。

今回の修正はこんな感じですかね。

まだAPKビルド後のスクリプトエラーが解決できていなくてスクリプトのリコンパイルが走ってしまうのが悩みの種なんですが、
誰か解決策を僕にください><


今日は、まあこんなところです。
ではでは