一。tcp 網路模型程式設計
1. 網路程式設計模型函式化
1.1 建立套接字 socket
1.2 繫結位址函式 bind
1.2.1 位址型別
1.2.2 位址轉換
** in_addr_t inet_addr(const char *cp)
範例: in_addr.saddr = inet_addr(「192.168.1.1」 );
1.2.3網路位元組序
1. uint32_t htonl(uint32_t hostlong);
將32位的資料從主機位元組序轉換為網路位元組序
in_addr.saddr = htonl(inaddr_any)
2. uint16_t htons(uint16_t hostshort);
將16位的資料從主機位元組序轉換為網路位元組序
3. uint32_t ntohl(uint32_t netlong);
將32位的資料從網路位元組序轉換為主機位元組序
4. uint16_t ntohs(uint16_t netshort);
將16位的資料從網路位元組序轉換為主機位元組序
1.3 設定監聽函式 listen
1.4 等待連線 accept
1.5 傳送資料 send
1.6 接受資料 receive
1.7 關閉連線 close
1.8 連線伺服器 connect
2. tcp通訊程式設計
2.1 伺服器的程式
2.2 客戶機程式
TCP網路程式設計
基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...
網路程式設計 TCP
客戶端 1.建立客戶端的socket服務,指定目的主機和埠 2.為了傳送資料,應該獲取socket中的輸出流 3.獲取socket中的輸入流來獲取服務端的反饋資料 4.關閉資源 服務端 1.建立服務端的serversocket服務,並監聽乙個埠 2.通過accept方法 等待並獲取連線過來的客戶端s...
網路程式設計 TCP
即有傳送緩衝區 接收緩衝區,傳送次數和接收次數不一定對等。報頭長,成本高,需要搭載更多的資料。1.三次握手 通過對ack的確認,建立可靠連線。有超時重傳機制 2.四次揮手 有可能伺服器處理資料的時間較短,即三次揮手 3.狀態圖 2 保證遲來的資料報能被識別並丟棄 4.tcp狀態轉移過程 5.tcp報...