Socket.ioを使用して2つの異なるNode.jsサーバーを接続しようとしています。cloudfoundryを使用してSocket.io-clientを接続しようとしています。両方のインスタンスをローカルで実行してコードをテストすると、以下のsocket.io-clientNode.jsコードが期待どおりに機能します。socket.ioサーバーがcloudfoundryの場合、ブラウザーの単純なjavascriptクライアントが接続でき、正常に動作します。ただし、socket.io-client Node.jsを使用してcloudfoundryで実行されているインスタンスに接続しようとすると、いくつかの異なる方法で失敗します。何もしないか、2回接続を試みてから失敗するか、接続してすぐに切断するだけです。
私が考えることができる唯一のことは、cloudfoundryのnginxが何かを壊しているということです。ブラウザのjavascriptクライアントが接続してデータを送受信できるのに対し、Webブラウザと同じマシンから実行される基本的に同じNode.jsコードが接続できないことは、私には意味がありません。何かアイデアがありますか、それともcloudfoundryから離れるべきですか?
var socketioclient = require('socket.io-client').connect('http://someapiaddress.cloudfoundry.com');
socketclient = socketioclient.socket;
socketclient.on('connect_failed', function(){
console.log('Connection Failed');
});
socketclient.on('connecting', function(){
console.log('connecting')
});
socketclient.on('connect', function(socket) {
console.log('Connected!');
socketclient.on('message', function(data){
console.log(data)
});
socketclient.on('disconnect', function(){
console.log('disconnect')
});
});