進程和線程的區別:
- 都是系統執行的任務
- 進程是資源分配的基本單位
- 線程是調度執行的最小單位
- 進程的創建和切換的開銷大,速度慢,效率低
- 空間獨立、----- 安全,穩定
- 進程間通信不方便
- 線程創建和切換的開銷小,速度快,效率高
- 共享進程的資源方便,線程間資源競爭,帶來同步互斥機制
網絡
對不同主機間的通信
ping www.baidu.cm ????????查看百度的ip地址
ifconfig????????虛擬機里的ip地址
ip地址的本質:32位的數值
點分十進制。以點分四個
32位對應四個字節
主機號位1是默認網關(最后一位數字)
默認網關來發送
主機和網絡分別有幾層,每一層分別做了什么事情
TCP4層模型和5層模型有什么區別
4層把下面兩層合在一起,
概念理解:
- IP地址
- 子網掩碼
- 網關
- DNS
我們需要干的事情:基于網絡現有的功能,實現網絡程序編寫
網絡層次與Linux系統
socket
一個ipv4的的ip地址,
在linux系統上,SOCK_STREAM只有TCP協議
基于TCP學習網絡編程模型
tcp協議:
基于udp學習網絡編程模型
udp協議:
基于 TCP的cs協議
tcp客戶端:
角色是主動的一方
- socket
- bind(可選)
- connet? ? 客戶端特有的
@ sddlen? ?說明第二個參數的地址類型的大小
=========================
- write
- read
- close
tcp服務器
角色是被動的一方
- socket
- bind? 參數和connect一樣
- listen
- accept
=========================
- read
- write
- close