socket程式設計整理

2021-07-03 03:03:57 字數 1557 閱讀 9547

udp和tcp的對比:

簡單點說。udp處理的細節比tcp少。udp不能保證訊息被傳送到(它也報告訊息沒有傳送到)目的地。udp也不保證資料報的傳送順序。udp把資料發出去後只能希望它能夠抵達目的地。

tcp優缺點:

優點:1.tcp提供以認可的方式顯式地建立和終止連線。

2.tcp保證可靠的、順序的(資料報以傳送的順序接收)以及不會重複的資料傳輸。

3.tcp處理流控制。

4.允許資料優先

5.如果資料沒有傳送到,則tcp套介面返回乙個出錯狀態條件。

6.tcp通過保持連續並將資料塊分成更小的分片來處理大資料塊。—無需程式設計師知道

缺點: tcp在轉移資料時必須建立(並保持)乙個連線。這個連線給通訊程序增加了開銷,讓它比udp速度要慢。

udp優缺點:

1.udp不要求保持乙個連線

2.udp沒有因接收方認可收到資料報(或者當資料報沒有正確抵達而自動重傳)而帶來的開銷。

3.設計udp的目的是用於短應用和控制訊息

4.在乙個資料報連線乙個資料報的基礎上,udp要求的網路頻寬比tdp更小。

一、tcp與udp的區別

基於連線與無連線

對系統資源的要求(tcp較多,udp少)

udp程式結構較簡單

流模式與資料報模式

tcp保證資料正確性,udp可能丟包

tcp保證資料順序,udp不保證

部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息

擁有大量client

對資料安全性無特殊要求

網路負擔非常重,但對響應速度要求高

具體程式設計時的區別 socket()的引數不同

udp server不需要呼叫listen和accept

udp收發資料用sendto/recvfrom函式

tcp:位址資訊在connect/accept時確定

udp:在sendto/recvfrom函式中每次均 需指定位址資訊

udp:shutdown函式無效

二、man----socket

三、程式設計區別

與之對應的udp程式設計步驟要簡單許多,分別如下:

udp程式設計的伺服器端一般步驟是:

1、建立乙個socket,用函式socket();

2、設定socket屬性,用函式setsockopt();* 可選

3、繫結ip位址、埠等資訊到socket上,用函式bind();

4、迴圈接收資料,用函式recvfrom();

5、關閉網路連線;

udp程式設計的客戶端一般步驟是:

1、建立乙個socket,用函式socket();

2、設定socket屬性,用函式setsockopt();* 可選

3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選

4、設定對方的ip位址和埠等屬性;

5、傳送資料,用函式sendto();

6、關閉網路連線;

socket函式 整理

include int connect int sockfd,const struct sockaddr server addr,socklen t addrlen 為了理解connect函式,我們需要對connect函式的功能進行介紹。connect函式的功能可以用一句話來概括,就是完成面向連線的...

封裝socket整理

不管是socket通訊程式的客戶端還是服務端,準備工作的 較長,影響了主程式的簡潔性,不過可以分離出來,追求簡單實用。用c語言封裝 c語言只能把程式封裝成函式。測試 客戶端 int connectclient const char severip,const int port include inc...

關於SOCKET程式設計的一些整理!

1.int socket int af int type int protocol 1.首先來看af 協議域又稱協議族,協議族決定了socket的位址型別,在通訊中必須採用對應的位址,2.type 指socket型別,常用到的有 sock stream sock dgram sock raw soc...