ニコ生アラートを受信するrubyスクリプト書いてみた

いろいろストレスたまり気味だったので、気分転換にRubyで遊んでみた。

こんな感じでズラズラと放送中の番組が表示されます。

ハマったところは、リクエストを投げるときに文字列の最後に"\0"(いわゆるNULL文字)を付けてあげないと、サーバからレスポンスが返ってくれないかったところ。
それと、レスポンスを読み込むところで、

  sock.gets("\0")

と言う感じで、ここでもストリーム間の区切りとなっているNULL文字を明示しないと読み込みができなかったところ。

ニコ生アラート(本家)と自分のスクリプトの動作を、パケットキャプチャで解析して判明した。
ちなみに、最初パケットキャプチャにWireshark使おうとしたけど、Macではいまいちな感じだったので、Cocoa Packet Analizerってやつを使った。


これを応用すれば、オレオレアラートが簡単に作れそう。