1. 程式人生 > 程式設計 >淺談vue中使用編輯器vue-quill-editor踩過的坑

淺談vue中使用編輯器vue-quill-editor踩過的坑

最近在整理網路抓包分析相關的資料,同時又在閱讀《網路是怎樣連線的》。上一篇從網路協議層對裝置連網的過程和傳送資料的過程進行了探討。本篇討論的是TCP協議的資料收發的過程。

在討論本篇文章時,假設讀者對TCP協議有一定了解。

建立Socket

由於TCP協議是需要建立連線的,在建立連線之前,需要先初始化Socket。在初始化Socket時,作業系統分配一片記憶體空間儲存該Socket的必要資訊。這些資訊除了傳輸資料時需要TCP頭部的資訊以外,還包括作業系統TCP協議需要用的SO_REUSEADDRTCP_NODELAY等TCP控制引數。

建立完成後,就會返回一個Socket描述符。這個描述符相當於一個唯一的Socket識別號,通過這個描述符就能從作業系統獲取到Socket實體物件。

建立連線

我們知道TCP建立連線三次握手實際是為了交換客戶端與服務端必要的資訊,或者可以稱之為協商。主要協商的資訊包括雙方的IP和埠號、接收緩衝區大小、以及其他TCP控制引數(如ECN:顯式擁塞通告,SACK:選擇確認選項等)。

在建立Socket時,還不知道需要和誰傳輸資料,僅初始化了一個Socket結構。在建立連線時,我們需要告訴底層作業系統,需要連線的目標地址。就好比寄快遞時,我們需要在快遞單寫上收件人的地址和以及收件人資訊。