UDP 資料封包有著明顯的區別, UDP 資料封包發送到伺服器後,伺服器一般是不能回寫給用戶端的,而 TCP 資料封包是完全可以的。
[Node.js] socket 實作1:伺服器端與客戶端的監聽通訊(TCP)
Node.js 提供了 net 模組來支援 TCP 協定應用;另有 UDP 模組來支援 UDP 協定應用。
TCP 和 UDP 協定是屬於 ISO 七層中的傳輸層協定。其中 TCP 為 IP 環境下的資料,提供可靠性傳輸;相反地,UDP 則不為 IP 環境提供可靠性等功能。所以 TCP 是比較針對可靠性的應用。
本文針對 TCP,也就是網路通訊協定,來實作基本的功能。
[Node.js] 串流(stream)應用 – 建立可寫(writable)串流
此篇文章將介紹使用串流模組中的可寫(writable)串流,即 fs.createWriteStream() 方法,將資料寫入檔案。
[Node.js] 串流(stream)應用
在 Node.js 框架中,串流(stream)模組是非常重要的,因為檔案系統(fs)模組每次操作都要將資料全部寫入記憶體,然後再從記憶體取出,這勢必會影響檔案 I/O 操作的速度。故 Node.js 框架提供了一個串流(stream)模組來實現 I/O 操作。
串流(stream)是抽象的概念,可讀、可寫、可雙工(可讀、可寫)。當程式需要從某個資料來源讀入資料的時候,就會開啟一個資料串流,資料來源可以是檔案、記憶體等。相反地,需要寫出資料到某個資料來源目的地的時候,也會開啟一個資料串流,而資料來源目的地也可以是檔案串流、記憶體等。
[Node.js] url 模組 及 querystring 模組 – url 參數轉換成物件,以便取用
透過 url 模組與 querystring 模組的搭配使用,可以將url 參數轉換成物件,以便取用。
[Node.js] url 模組 – url 路徑轉換
url 模組提供了 url.resolve() 方法,在原有的路徑上,用另外的路徑去做替換。
[Node.js] url 模組 – 解析與格式化 url 路徑
Node.js 提供了 url 模組,其中有 url.parse() 方法,可以解析 url 路徑,來取得 url 中的各種值。透過 url.format() ,可以將url.parse() 取得的物件,逆推回去,取得一個完整的 url 字串路徑。
[Node.js] path 模組 – 取得路徑中的最後部份
透過使用 path.basename(path[, ext]) ,可以根據一個已知的絕對路徑(參數一),透過參數二來決定要移除的部份,就可以取得絕對路徑中最後一個 “/” 字元後面,並除去參數二所指定的文字,就會回傳最後的部份了。
[Node.js] path 模組 – 取得路徑中檔案的副檔名
取得某個檔案的絕對路徑之後,透過 path.extname(path),即可取得該檔案的副檔名。
[Node.js] path 模組 – 取得資料夾路徑
根據已經取得的檔案的絕對路徑,取得該檔案的資料夾路徑。透過使用 path.dirname(path) 即可達成。