2016-04-18 20 views
1

socket.ioを使用しているときに、どのポートを聞き取り/発光させるべきですか?socket.ioと一緒に使うポートは?

私はもともとSSLウェブサイトで2053を使用していましたが、ウェブサイトを使用した後、2053がブロックされていました。

したがって、ブロックされないことが保証されている特定のポートがありますか?または、私はそれを仮定する必要がありますをブロックすることができますか?

ありがとうございました。

+0

サーバーに関する詳細情報が必要ですが、それはあなたの管理下にありますか?または、サーバーを借りる?それは他のウェブサイトでホストされていますか? socket.ioはHTMLの配信にも使われていますか? – DrakaSAN

+0

それは専用のサーバーであり、私は完全な制御を持っています。メインのウェブサイトはDrupalですが、私は単純なリアルタイムゲームのためにsocket.ioも実行します – lombrozo

+0

あなたが完全なコントロールを持っていれば、ポートがブロックされていないことを保証できるはずです。ファイアウォールで例外を作成する私はこれがプログラム上の問題であるとは思わない。 – DrakaSAN

答えて

2

まず、node.jsを使用してあなたのウェブサイトとsocket.io接続の両方にサービスを提供している場合、通常、あなたのWebサイトで使用しているのと同じport.ioを使用しますあれは)。ほとんどのウェブサイトはポート80(http)または443(https)で提供されるので、それはあなたが使うものです。すべてのwebSocket接続(socket.ioが基づいているもの)はhttp(s)リクエストで始まるので、通常のWebリクエストとポートを共有できます。これはwebSocketデザインの中心的な部分です。これはまた、ウェブページが来たのと同じホスト/ポートに接続するためにクロスオリジンヘッダのサポートが必要ないので、ブラウザ内の同じ発信元要求のセキュリティを単純化する。

専門的にホストされているサイトでは、特定のホスティング会社にwebSocket接続を使用するための手順を参照する必要があります。 webSocket/socket.ioの接続は長期間持続するため、一般的なホスティング環境では特定のサポートが必要な場合があり、特定の方法で行う必要があります。また、ホスティング会社は多くのサイト間でインフラストラクチャを共有している可能性があるため、特定のポートを割り当てることが多く、必ずしもポートを使用する必要はありません。

接続の学校側では、学校がインターネットでブラウジングを許可している限り、ポート80と443は開いていますので、最も安全な方法です。

FYIのサイトhttp://portquiz.net/は、すべてのポートでHTTP要求をリッスンしているので、必要なポートをテストすることができます。

+0

私が試してみると、プロセスが終了するたびに、プロセスが終了します。つまり、コールバック関数で「listen on port ...」と聞くと出力されますが、決して到達しません。スクリプトはただ終了します... – lombrozo

+0

@lombrozo - '.createServer()'や '.listen()'のエラーコードがありますが、なぜ失敗するのかが分かります。 – jfriend00

+0

@ lombrozo - 学校ネットワークからの送信接続用に開いているポートをテストする方法については、私の答えに追加した最後の段落を参照してください。 – jfriend00

関連する問題