ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejs ポート番号を閉じる
Node.js は、サーバーサイド JavaScript アプリケーションを作成するためのオープン ソース プラットフォームです。効率的で軽量、クロスプラットフォームで拡張性が高いため、開発者の間で人気があります。ただし、Node.jsを使ってサービスを構築する場合、占有しているポート番号を閉じたり解放したりする必要がある場合があり、対応するスキルを習得する必要があります。
この記事では、Node.js でポート番号をオフにする方法を紹介します。始める前に、Node.js でのネットワーク リクエストの処理の基本をいくつか確認してみましょう。
Node.js では、2 つのコア API を提供する http
モジュールを通じてネットワーク リクエストを処理できます: http .createServer()
および http.request()
。
http.createServer()
は、HTTP サーバーを作成し、クライアントがサーバーをリクエストしたときに実行されるコールバック関数を指定するために使用されます。コールバック関数では、リクエストを処理して返すことができます。対応する応答; http.request()
は、ネットワーク リクエストを開始するために使用されます。この API を通じて別のサーバーにリクエストを送信し、その応答を処理できます。
以下は簡単な HTTP サーバーの例です:
const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('<h1>Hello World</h1>'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
上の例では、HTTP サーバーを作成し、ポート番号 3000 のアドレスをリッスンしました。クライアントがサーバーをリクエストすると、res.writeHead()
を通じて応答ヘッダーを設定し、res.end()
を使用してコンテンツを応答本文としてクライアントに送信します。
サービスがネットワーク リクエストを処理する必要がなくなった場合、またはサービスを他のポート番号に移行する必要がある場合は、現在のポートを閉じるか解放する必要があります。番号 。では、Node.js でポート番号をオフにするにはどうすればよいでしょうか?
Node.js では、http.Server.close()
メソッドを通じてサーバーをシャットダウンできます。このメソッドはサーバーを停止し、占有されているポート番号を解放します。例を次に示します。
const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('<h1>Hello World</h1>'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); }); // 关闭服务 setTimeout(() => { server.close(() => { console.log('Server closed.'); }); }, 5000);
上の例では、サービスの開始から 5 秒以内にサーバーをシャットダウンします。これを実現するには、setTimeout()
を使用してシャットダウン操作を 5 秒間遅らせ、その後、コールバック関数で server.close()
を使用してサーバーを閉じ、コンソールへのメッセージ。
サーバーをシャットダウンするときは、すべてのクライアントが正常に切断できるように、保留中の接続がすべて処理されるまで待ってからサーバーをシャットダウンする必要があることに注意してください。
この記事では、Node.js でサービスのポート番号を閉じて対応するリソースを解放し、ネットワーク サービスの停止とシャットダウンを実現する方法を紹介します。実際の開発では、プログラムのパフォーマンスとスケーラビリティを向上させるために、ビジネス ニーズに応じて Node.js のネットワーク処理モジュールを合理的に使用する必要があります。
以上がNodejs ポート番号を閉じるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。