ご存じのとおり、Web サーバーです。現在、私の Socket.IO サーバーは、JavaScript ファイルである BATCH ファイルからロードされます。node を使用して、socket.io サーバーを Web ブラウザーからロードできますか。Web サーバー ユーティリティ ツールなどのようなものです。
3 に答える
私はあなたができると言うでしょう。良いユースケースを考えることができるわけではありません。
スタートアップコードは、Webサーバーが実行できる場所に配置する必要があります。また、Webサーバーがブラウザに情報を返して接続できるようにする必要があります。また、ソケットサーバーの起動後にsocket.ioコードをブラウザに挿入する必要があります。
ですから、それは確かに可能ですが、少しの利益のためにかなり複雑になると思います。考えられるユースケースの1つは、障害後にソケットサーバーを再起動することだと思います。実際には、おそらくNodeから外部スクリプトを呼び出すことによって、少し異なる方法でそれを行います。
WebSocketsの設計上、これは明らかに不可能です。これは、ハンドシェークの後、HTTP プロトコルを削除し、それを WebSocket プロトコルに分解する特別な HTTP 要求として開始されます。このプロトコルは、生の TCP に似ています (ただし、より管理されています)。Web ブラウザーは特に HTTP 要求を処理できないため、ソケットをサーバーとして開始することはできません。
これは特に、ドライブバイ ボットネット Web サイトを作成して、多数のユーザーのコンピューターを無意識のうちに DDOS 攻撃に使用したり、その他のセキュリティ上の懸念事項を作成したりすることができないようにするために行われました。
したがって、Flash がそのような動作をサポートしていたとしても、私は驚かないでしょう。;) (Java でできることは知っていますが、Java アプレットを有効にするのは誰ですか?)
幸いなことに、答えはノーです。load / launch を意味する場合は、いいえ。ただし、クライアントから URL が要求されたときに別のサーバーを起動するスクリプトをサーバー上に作成することはできます。