原创 網絡編程 21_poll

網絡編程 21_poll目標一、函數介紹二、poll 通信例子服務端三、測試 目標 理解 poll 函數 一、函數介紹 int poll(struct ploofd *fds, unsigned long nfds, int ti

原创 TCP 三次握手函數調用

TCP 三次握手一、服務端監聽連接二、客戶端發起連接三、通配地址四、地址格式 一、服務端監聽連接 socket bind listen accept 服務端監聽連接 1.socket int socket(int doma

原创 CMake:01 編寫 CMake 的 HelloWorld

01 編寫 CMake 的 HelloWorld目標一、HelloWorld二、CMake 語法2.1 常見用法2.2 語法簡介2.3 語法規則小結 目標 寫一個最簡單的 CMake 示例 HelloWorld 一、HelloWo

原创 02 字節碼原理初步 —— 基於棧的執行引擎

02 字節碼原理初步 —— 基於棧的執行引擎一、棧、寄存器二、棧幀(Stack Frame)三、舉個 xue 微複雜的栗子未完待續 一、棧、寄存器 虛擬機常用實現方式:Stack based(基於棧)和 Register base

原创 Activity、Dialog、Toast 的 Window 創建過程

Activity、Dialog、Toast 的 Window 創建過程一、Activity 的 Window 創建過程:二、Dialog 的 Window 創建過程:三、Toast 的 Window 創建過程: 一、Activit

原创 TCP 概述 可靠的、面向連接的、基於字節流、全雙工的協議

TCP 概述 可靠的、面向連接的、基於字節流、全雙工的協議目標一、TCP 是面向連接的協議三次握手二、TCP 協議是可靠的校驗和包的序列號超時重傳流量控制、擁塞控制三、TCP 是面向字節流的協議四、TCP 是全雙工的協議五、問題

原创 Binder Reply 過程

Binder Reply 過程一、BR_TRANSACTION 命令協議二、sendReply(reply, 0)binder_transaction()binder_thread_read() 一、BR_TRANSACTION

原创 爲什麼 main() 函數直接調用其他函數交換兩個數沒效果?

爲什麼 main 函數直接調用其他函數交換兩個數沒效果?一、題目:如何交換兩個數二、查看彙編代碼三、總結四、那怎麼交換兩個數?4.1 指針4.2 引用4.3 直接在 main() 函數中交換 一、題目:如何交換兩個數 #inclu

原创 深入理解 TCP 協議:TCP_IP 歷史與分層模型

深入理解 TCP 協議:TCP_IP 歷史與分層模型目標一、TCP/IP 協議棧歷史背景二、TCP/IP 網絡分層三、習題 目標 瞭解 TCP/IP 協議歷史 理解 TCP/IP 協議分層 使用 wireshare 抓包,查看網

原创 網絡編程 26(上)阻塞 I/O 線程模型

網絡編程 26(上)阻塞 I/O 線程模型目標一、POSIX 線程模型1.1 創建線程1.2 終止線程父線程終止所有子線程父線程終止某個子線程回收已終止線程資源1.3 分離線程二、阻塞 I/O 線程模型服務端三、CMake 管理當

原创 網絡編程 25_阻塞 I/O 進程模型

網絡編程 25_阻塞 I/O 進程模型目標一、父子進程1.1 fork 創建進程1.2 回收進程資源wait 和 waitpidSIGCHILD 信號二、阻塞 I/O 進程模型服務端三、CMake 管理當前項目① 代碼組成② 創建

原创 網絡編程 06_使用 UDP 進行讀寫

網絡編程 06_使用 UDP 協議進行讀寫目標一、發送報文二、接收報文三、UDP 通信例子服務端客戶端三、CMake 管理當前項目① 代碼組成② 創建並進入 build 目錄③ 外部編譯四、測試 UDP 例子場景一:先運行客戶端,

原创 網絡編程 05_使用套接字進行讀寫

網絡編程 05_使用套接字進行讀寫目標一、發送數據常用函數發送緩衝區write 函數阻塞返回時機二、讀取數據三、緩衝區實驗服務端客戶端實驗一:觀察客戶端的發送行爲實驗二:讓服務端處理變慢四、小結補充:CMake 管理當前項目 目標

原创 01 Chrome 架構:僅僅打開一個頁面,爲什麼有 4 個進程?

01 Chrome 架構:僅僅打開一個頁面,爲什麼有 4 個進程?一、瀏覽器架構1.1 進程和線程1.2 單進程架構1.3 多進程架構1.4 目前多進程架構二、標題答案 一、瀏覽器架構 1.1 進程和線程 一個進程對應一個程序的運

原创 02 TCP 協議:如何保證頁面文件能被完整送達瀏覽器

02 TCP 協議:如何保證頁面文件能被完整送達瀏覽器一、數據包的旅程1.1 主機 A 發送數據包給主機 B1.2 UDP:把數據包送達應用程序TCP:把數據完整的送達應用程序三、總結四、補充 一、數據包的旅程 互聯網中的數據是通