2

クライアント側から、実際には同じローカル IP アドレスで異なるポートで実行されている 2 つの異なるノード サーバーに接続したいと考えています。問題は、最初の io.connect() は成功するが、2 番目の io.connect() は失敗することです。私はそれを機能させるために、2番目の io.connect 呼び出しforce new connectionに true に設定されたプロパティを含める必要があることを読みました。私はそれを試しましたが、あまり成功しませんでした...ここに私のコードのかなり単純化されたバージョンがあります:

dataSocket = io.connect('https://' + window.document.location.host);
...
socketOut = io.connect(data.url, {'force new connection': true});

https://192.168.1.129基本的に、最初の接続は(ポート 443) でソケットを開き、 2 番目の接続https://192.168.1.129:3000は失敗します。両方のサーバーが実行されており、これらの呼び出し中に接続を受け入れています (明らかに)。興味深いのは、プライベート ローカル アドレスを localhost に置き換えると機能することです。私は間違いなく何かが欠けています...

助言がありますか?

4

1 に答える 1

0

これは証明書の問題でした (CA の自己署名証明書を使用)。https://192.168.1.129:3000Web ブラウザー経由で 1 回接続し、リスク アラートを受け入れるだけで、すべてが機能します。

于 2012-11-10T06:56:11.133 に答える