OSI七層模型
應(yīng)用層
表示層
會(huì)話層
傳輸層
網(wǎng)絡(luò)層
數(shù)據(jù)鏈路層
物理層
TCP/IP四層模型
IP地址
A 0 + 7 + 24
B 10 + 14 + 16
C 110 + 21 + 8
D 1110 + 28位組播地址
E 留待備用
192.168.0.103 /24
127.0.0.1:回環(huán)地址,可用于本機(jī)網(wǎng)絡(luò)協(xié)議的測(cè)試和本地進(jìn)程間通信
端口號(hào)
16位無符號(hào)整數(shù),0-65535 1024被系統(tǒng)使用
字節(jié)序
---------------------------------
socket編程:
1.網(wǎng)絡(luò)編程又叫socket編程
套接字是一個(gè)網(wǎng)絡(luò)編程的接口,是網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)能浽O(shè)備,用于網(wǎng)絡(luò)交互。
網(wǎng)絡(luò)編程就是編寫程序使兩臺(tái)連網(wǎng)的計(jì)算機(jī)相互交換數(shù)據(jù),這個(gè)就是網(wǎng)絡(luò)編程的全部內(nèi)容。
unix/linux系統(tǒng)作為服務(wù)器操作系統(tǒng)存在至今,因此,Linux的網(wǎng)絡(luò)功能應(yīng)該是非常全面和強(qiáng)大。
網(wǎng)絡(luò)編程其實(shí)有很成熟的通信模型,并且windows也通用。
2.通信模型(基于TCP的一對(duì)一的通信模型)
服務(wù)器:
1.創(chuàng)建socket,使用函數(shù)socket()
2.準(zhǔn)備通信地址,使用結(jié)構(gòu)體類型
3.綁定socket和通信地址,使用bind()
4.監(jiān)聽,使用函數(shù)listen()
5.等待連接,使用函數(shù)accept()
6.進(jìn)行通信,使用read()、write()
7.關(guān)閉socket,使用函數(shù)close()
客戶端:
1.創(chuàng)建socket,使用函數(shù)socket()
2.準(zhǔn)備通信地址(指服務(wù)器的地址),使用結(jié)構(gòu)體類型
3.連接服務(wù)器,使用函數(shù)connect()
4.進(jìn)行通信,使用read()、write()
5.關(guān)閉socket,使用函數(shù)close()
具體函數(shù):
1.socket()函數(shù)
#include