expressあべてっく役に立ったり立たなかったりする内容を備忘録的にちょこちょこと。socket.IOTweetNode.jsでexpressとsocket.IO、ejsを使って簡単な双方向通信をやろうとしたらいきなりハマってしまったのでメモ。■目標サーバーを起動してクライアントが接続成功したら、サーバー側に「connected」、クライアント側にアラート「hoge」が表示される。その後サーバーからクライアントにメッセージ「ムッシュムラムラ」が送られクライアントにDOMで表示される。■環境node.jsはnvmでv0.10.18をインストール。BoxのCentOS5.8で、ブリッジ接続IP192.168.10.10、nodeの待ち受けポート8080。クライアントは同じローカル内。sockettestでアプリケーション作成。app.jsを以下のように作成。function(){console.log(‘disconnect’);});});次にviews/index.ejsを次のように。id=”receiveMsg”></div></body></html>■結果サーバー側に「connected」は表示されるがクライアントが反映しない。ブラウザ変更しても同じ。サーバー側でCtrl+cでプロセス終了させるとその瞬間クライアント側にhogeアラートだのが表示される。なにこれ(・ω・`サーバー側のログはこんな感じ。timeout以下同じような内容のdebugが繰り返し延々と続く■対応サーバー側はクライアントの接続を認識している模様。ことはemitがうまくいってないていうことか。調べてみたら以下の記事発見。socket.ioこの一番下に書いてある、io.set(‘transports’,[‘xhr-polling’]);を追加設定したらhogeアラートとムッシュムラムラが表示された。なんでかは後で調べることにする。