客戶端與服務器的雙向通信是通過代碼實現的,因為我們無法直接在終端上進行信息輸人,例如在客戶端終端輸入信息發送到服務器,這樣的功能就需要依賴 Process 模塊來完成。對于每一個終端來說,都是一個標準輸入與標準輸出的一個接口而已,在 Process 模塊中提供了獲取終端輸入數據的方法,下面進行詳細介紹。
Process模塊是一個無須使用 require0就可以從Nodejs 應用程序進行訪問的全局對象,在 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執行結果
在圖中第二行出現閃爍的光標,這時可以在終端輸人內容,例如輸入“123456”后按[Enter]鍵,如下所示。
圖 獲取終端輸入
在上圖中,第一個“123456”是使用鍵盤輸入的,第二個“123456”是按[Enter]鍵后獲取到的輸入信息,被輸出到了終端。
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281