socket網路程式設計筆記

2021-09-24 16:29:44 字數 1253 閱讀 8395

一、基礎知識

xinetd: 開源伺服器,監聽指定埠

1000以上

b/s模式

http協議,協議頭+資料

方法get

協議頭部分(可選)

connect-tyoe:回些客戶端的資料的型別(必須)

\r\n

資料tcp面向連線的通訊協議,只能用於端到端的通訊

通過三次握手建立連線,

有反饋udp面向無連線的,通訊不需要連線,可實現廣播傳送,並不侷限於端到端

udp資料報包含目的埠號和源埠號

無反饋tcp/ip協議,兩個程序間通訊的主要模式為:c/s

應用:ftp、smtp、http

ip資料報

tcp報文段||

鏈路層     網路層  傳輸層   應用層           

乙太網幀頭-ip報首-tcp段首-應用層頭-資料-乙太網幀尾

區域性mac+ip   ip   port ||

核心處理                     使用者程序

應用層協議:ftp、http、smtp

傳輸層協議:tcp、udp

網路層協議:ip、icmp、igmp

網路介面層協議:arp、rarp

http:超文字傳輸協議

icmp:internet控制報文協議,是tcp/ip的乙個子協議。

資料鏈路層mac:格式化資料貞,資料校驗。

網路層ip:提供連線和路徑選擇。

傳輸層port:定義一些傳輸資料的協議和埠號。

-----------------------------

乙太網貞格式:

目的位址-源位址-型別-  資料-    crc

6-      6-    2-   46_1500  -4

目的mac  源mac

0800   ip資料報

2     46_1500

0806   apr請求/應答   pad

2        28         18

mac: 6個位元組,48位

ip:  4個位元組,32位

port:2個位元組,16位,最大埠號65535

網路程式設計學習筆記 socket程式設計

本地的程序間通訊 ipc 有很多種方式,總結為4類 在本地可以通過程序pid來唯一標識乙個程序,但是在網路中這是不可以的。tcp ip協議族幫我們解決了這個問題,網路層的 ip位址 可以唯一標識網路中的主機,而傳輸層的 協議 埠 可以唯一標識主機中的應用程式 程序 這樣利用三元組 ip位址 協議 埠...

socket網路程式設計 學習筆記

伺服器端先初始化socket,然後與埠繫結 bind 對埠進行監聽 listen 呼叫accept阻塞,等待客戶端連線。在這時如果有個客戶端初始化乙個socket,然後連線伺服器 connect 如果連線成功,這時客戶端與伺服器端的連線就建立了。客戶端傳送資料請求,伺服器端接收請求並處理請求,然後把...

網路程式設計之SOCKET程式設計學習筆記

使用tcp ip協議的應用程式通常採用應用程式設計介面 unix bsd的套接字 socket 和unix system v的tli 已經被淘汰 來實現網路程序之間的通訊。就目前而言,幾乎所有的應用程式都是採用socket,而現在又是網路時代,網路中程序通訊是無處不在,這就是我為什麼說 一切皆soc...