原创 websocket / 使用 wireshark 分析 websocket 連接過程

一、連接過程時序圖 二、wireshark 分析 上圖是一個完整的進行 websocket 連接時產生的數據包。 根據時序圖可知,前 3 行是 tcp/ip 握手過程,因爲可以通過標誌來看到,前 3 個標誌(Flags)分別爲 SYN

原创 boost / vs2017 編譯 boost 1.68.0 的過程說明

一、準備 下載 boost 1.68.0 源代碼,點我。 二、選擇命令行工具 強調:編譯時使用 vs2017 開發者命令行工具, 若編譯生成 x86 的庫,就使用 x86 Native Tools Command Prompt for V

原创 libwebsockets / vs2019 編譯 libwebsockets 4.0 方法

一、準備 下載 libwebsockets 4.0 源代碼。(下載) 下載 cmake 3.17。(下載) 編譯 openssl openssl-1.0.2u 。(參考) 編譯 zlib 1.2.11 (參考) 二、設置 1、打開 cma

原创 zlib / win10 下 vs2019 編譯 zlib 的方法

一、準備 官網下載 zlib 庫源代碼。(點我) 二、設置 1、進入源碼根目錄,雙擊打開 contrib \ vstudio \ vc14 \ zlibvc.sln。 2、初始編譯時,會報錯: 無法生成 SAFESEH 映像 解決辦法是

原创 openssl / vs2019 編譯 openssl 1.0.2u 過程說明

一、準備 1、安裝 perl http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit.msi 2、下載 openssl 1.0.2u http

原创 python 3.8.2 / 內置的數據結構 / list (類似於 STL 中的 vector)

一、特點 (1)相對於 tuple 來說,list 是動態的(mutable),即:各個元素都是可變的。 (2)可以通過索引進行查詢。 (3)list 中的元素可以是 python 中的任何對象。例如:list、tuple、dict、se

原创 OS / 線程哪些內容是私有的和共享的?

一、私有 棧(局部變量,函數的參數)。 線程局部存儲(Thread Local Storage,TLS),有限的容量。 寄存器 (執行流的基本數據)。 TLS的用法很簡單,如果要定義一個全局變量爲 TLS 類型,只需在它定義前加上相應的關

原创 WebRTC / Jitsi / 多人視頻通訊常用架構 Mesh / MCU / SFU

問題:爲什麼要搞這麼多架構? WebRTC 雖然是一項主要使用 P2P 的實時通訊技術,本應該是無中心化節點的,但是在一些大型多人通訊場景,如果都使用端對端直連,端上會遇到很帶寬和性能的問題,所以就有了下圖的三種架構。 一、Mesh 每

原创 javascript / node.js / npm install 時 --save 和 --save-dev 的區別

一、dependencies 和 devDependencies 在使用 node 開發時, 我們在工程中用到的包必須是 package.json 中列出。而 dependencies 和 devDependencies 是packag

原创 vscode / 雜項

1、設置快捷鍵與windows保持一致的方法 安裝插件 Windows default keybindings 。 2、解決 tab 過短的問題 設置“Editor:Font Family”爲 'monospace' 。   (SAW:G

原创 OS / Linux / 主線程退出了,子線程會退出嗎?

在 linux 世界中,主線程退出了,子線程是否退出是要看主線程的退出方式。 主線程以 return 的方式退出。 主線程以 pthread_exit() 函數的方式退出。 前者,main() 執行完 return 之後,實際上會

原创 命令 / Linux / 常用的解壓縮的命令

一、tar.gz sudo apt install tar tar -xzvf test.tar.gz 參數說明: 參數 功能 x 指定當前操作是解壓縮。 選其一 z 指定壓縮文件格式: gzip。 j 指定壓縮文件格式:bzip2

原创 eclipse / 綁定 OpenJDK 1.8 Java 源碼的方法

Ubuntu自帶的 OpenJDK 只有 JRE 環境,不提供源碼,所以我們還是需要去下載。 鏈接: https://pan.baidu.com/s/1-JhX9MNQ5mMWLCLfIk2ODw 提取碼: grym 下載完之後,只需

原创 HTML / img src 使用絕對路徑注意事項

今天在開發的時候,需要通過 javascript 加載包含本地圖片的路徑的 html 字符串來顯示到客戶端上,按照常規,代碼如下: <img src="E:/猴子.jpg"/> 用瀏覽器打開時沒有問題的,但是,客戶端上卻無法正常顯示圖片

原创 Java / 關鍵字

一、基本數據類型 分類 明細 位大小 默認值 整數型 byte、short、int、long 8 \ 16 \ 32 \ 64 0 \ 0 \ 0 \ 0L 浮點型 float、double 32 \ 64 0.0f \ 0.0d 字符型