クライアントとサーバー間の双方向通信はコードを通じて実現されます。クライアント端末で情報を入力してサーバーに送信するなど、端末に直接情報を入力することができないため、そのような機能は Process モジュールに依存する必要があります。完了します。各端末にとって、これは標準入力と標準出力の間の単なるインターフェイスであり、Process モジュールは端末入力データを取得するメソッドを提供します。これについては後で詳しく説明します。
ProcessモジュールはNodejsアプリケーションからrequire0を使わずにアクセスできるグローバルオブジェクトであり、Node.jsではプロセス内の入力データ、つまりターミナルの入力データを以下のメソッドで取得できます。
process.stdin.on('data',function (data) {
console.log(data.toString().trim());
});
上記コードでは、process.stdinオブジェクトのdataイベントをリッスンすることで、dataイベントのコールバック関数から端末から入力されたデータを取得していますが、メッセージ入力後に[Enter]キーを押す必要があるため、システムはこのアクションをスペースとして認識するため、trim0 を使用してこのスペースを削除します。
以下では、端末での入力を示すためにケースを使用しています。Chapter06ディレクトリにdemo6-6.jsを作成し、そのファイルに以下のコードを追加します。
/**
*测试获取终端输入
*/
// 通过下面的方式就可以获取用户的输入
process.stdin.on('data',function (data){
console.log(data.toString().trim());
});
ターミナルを開いて、demo6-6.is を実行すると、結果が図に示されます。
demo6-6jsの実行結果
図の2行目に点滅カーソルが表示されますので、この時点で端末に内容を入力することができます。たとえば、以下のように「123456」と入力して[Enter]キーを押します。
端子入力を取得する図
上図において、最初の「123456」はキーボードから入力されており、2番目の「123456」は[Enter]キーを押した後の入力情報であり、端末に出力されています。