質問編集履歴

1 間違えの訂正

keito04

keito04 score 15

2016/08/26 15:20  投稿

node.jsでのwebsocketの複数サーバーに接続に関して
node.jsでのwebsocketの複数URLに接続に関して
教えていただきたい事は、node.jsでweb.socketを利用し、wss://に接続し、双方向通信(利用しているのは受信のみ)をしているのですが、複数URLへの接続は可能なのでしょうか?
イメージとしてはそれぞれのサーバからのmessageが来るのを待機し、ws.onで受け取ったタイミングで受け取ったURLに対しての実行のみ行いたいといった形です。
```
var WebSocket = require('ws')
, ws = new WebSocket('wss://hoge1');
ws.on('message', function(message) {
cut = message.split(",")
if(cut[0] == '{"type"'){
}
else{
status = cut[3] + cut[4] + cut[5]
i = cut[3].replace(/[^0-9^\.]/g,"");
if(before_status[i] != status){
console.log(status)
request.post({
uri: 'http://foo
body: message,
headers: {
'content-type': 'application/json'
}
});
}
else{
console.log('the same')
}
before_status[i] = status
}
```
このコードの単体での動作確認はできているのですが、同じようにwss://hoge2に対しても同じようにかくと
```unexpected server response (404)```
のエラーが出てしまいます。
クラスの名前を再度設定しても同じエラーになります。
これはws.onが非同期処理ではないということなのでしょうか?
それとも並列で処理できないというものなのでしょうか?
実際にはもっと多くのwss://への接続がしたいのですが方法がありましたらご教授よろしくお願いします。
  • Node.js

    4428 questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • WebSocket

    342 questions

    WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る