2013-04-09 14 views
8

クライアント側の同じIPとポート上の複数のリソースに接続できますか?同じページの複数のsocket.io接続

私はmyIP:myPortnode-http-proxyを実行しています

var myIP = "192.168.1.1"; 
var myPort = "8080"; 

A = io.connect(myIP+':'+myPort,{resource: 'A/socket.io'}); 
B = io.connect(myIP+':'+myPort,{resource: 'B/socket.io'}); 

A.on('connect',console.log('A connected'); 
B.on('connect',console.log('B connected'); 

A.on('message',function(d){console.log('A: '+ d);} 
B.on('message',function(d){console.log('B: '+ d);} 

コード - 以下を持っています。 AとBのそれぞれのsocket-ioサーバーへのプロキシ接続です。

上記のコードを1つのスクリプトで実行すると、ブラウザは2番目のステートメントを無視します(リソースBへの要求は発生しません)。 AとBの両方のための

on(message)コールバックは、実際に私は2つの異なるHTMLページ(他の1とBにA)で上記のコードを実行した場合、彼らは正常に動作A.

に属する同じデータを受け取ります両方のデータを別々に取得します。

答えて

9

このお試しください:私も名前空間に言及う

A = io.connect(myIP+':'+myPort, {resource: 'A/socket.io', 'force new connection': true}); 
B = io.connect(myIP+':'+myPort, {resource: 'B/socket.io', 'force new connection': true}); 

(はい、私は引用符の一部を削除)

+0

:接続するには

、単にこれを行います!おかげで多く – arunkjn

+0

'リソース'のことは何ですか? – RandallB

+0

@RandallB:これは今や 'path'と呼ばれています。それはsocket.io静的JSファイルを提供したいパスです。 http://stackoverflow.com/questions/12824612/change-socket-io-static-file-serving-pathを確認してください。 – maxdec

0

を...あなたが何をしようとして多くの時間は、再接続を処理していますイベントはソケット単位で、名前空間はこれを行います。彼らの主なメリットは、それぞれが1つのコネクションを持つ必要がないということです。つまり、6つのドメインごとのブラウザの制限に寄与しません。はい、それは私の作品

socket = io('/namespace')

関連する問題