node.jsでサーバサイドのJavaScrpt開発:socket.ioはwscatではなくiocatでデバッグ

Posted on Posted in 趣味的なIT・ネットの話題

久しぶりにsocket.ioを使うので、簡単なプログラムを作ってテストをしてみることにしました。サーバサイドはこれ。

クライアント側はこんな感じ。

ただブラウザでテストするのはどうにもまどろっこしいので、コマンドラインから実行できるよう、ネット上で多く紹介されているwscatを使うことにしました。最初にハマったのは、wscatがwsに同梱されているのでは無く、wscatとして配布されていること。今のwsのレポジトリではwscatは実行できないようです。パスの問題でしょうか。

で次にハマったのが、wscatでいくらnodeに接続しても接続が確立されずにhang upとなったり、無言となったりするという現象。いろいろ試してみた挙げ句、wscatではなくiocatを使うと接続に成功しました。

iocat

socket.ioはメッセージ送信時にキーを付ける機能があったりしますので、そのあたりが通常のwebsocketとは互換性が無いのかもしれません。

(2016/03/14追記)

私が誤解していたようです。socket.ioはwebsocketの一実装だと思っていたのですが、そもそも違うプロトコルなんですね。

リアルタイム双方向通信について


Facebooktwittergoogle_pluspinterestlinkedinmail
納得したらすぐにシェア!