<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 要求 編寫一個 HTTP 文件 服務器,它用于將每次所請求的文件返回給客戶端。 服務器需要監聽所提供的第一個命令行參數所制定的端口。 同時,第二個會提供給程序的參數則是所需要響應的文本文件的位置。在這一題中必須使用`fs.createReadStream()`?方法以 stream 的形式作出請求相應。 ## 提示 由于我們需要創建的是一個 HTTP 服務而不是普通的 TCP 服務,因此,應該使用 http 這個 Node 核心模塊。它和 net 模塊類似,http 模塊擁有一個叫做?`http.createServer()`?的方法,所不同的是它所創建的服務器是用 HTTP 協議進行通信的。 `http.createServer()`接收一個回調函數作為參數,回調函數會在你的服務器每一次進行連接的時候執行,這個回調函數有以下的特征: ~~~ function callback (request, response) { /* ... */ } ~~~ 在這里,這兩個參數是代表一個 HTTP 請求以及相應的響應的兩個對象。request 用來從請求中獲取一些的屬性,例如請求頭和查詢字符(query-string),而 response 會發送數據給客戶端,包括響應頭部和響應主體。 request 和 response 也都是 Node stream!這意味著,如果需要的話,可以使用流式處理(streaming)所抽象的那些方法來實現發送和接收數據。 `http.createServer()`?會返回一個 HTTP 服務器的實例。這里需要調用 server.listen(portNumber) 方法去監聽一個特定的端口。 一個典型的 Node HTTP 服務器將會是這個樣子: ~~~ var http = require('http') var server = http.createServer(function (req, res) { // 處理請求的邏輯... }) server.listen(8000) ~~~ [http模塊API文檔](https://nodejs.org/api/http.html) [fs模塊API文檔](https://nodejs.org/api/fs.html) fs 這個核心模塊也含有一些用來處理文件的流式(stream) API。可以使用 fs.createReadStream() 方法來為命令行參數指定的文件創建一個 stream。這個方法會返回一個 stream 對象,該對象可以使用類似 src.pipe(dst) 的語法把數據從 src流傳輸(pipe) 到 dst 流中。通過這種形式,可以輕松地把一個文件系統的 stream 和一個 HTTP 響應的 stream 連接起來。 ## 代碼 ~~~ var http = require('http') var fs = require('fs') var server = http.createServer(function (req, res) { res.writeHead(200, { 'content-type': 'text/plain' }) fs.createReadStream(process.argv[3]).pipe(res) }) server.listen(Number(process.argv[2])) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看