sock_stream 是有保障的(即能保證資料正確傳送到對方)面向連線的socket,多用於資料(如檔案)傳送。
sock_dgram 是無保障的面向訊息的socket , 主要用於在網路上發廣播資訊。
sock_stream是基於tcp的,資料傳輸比較有保障。sock_dgram是基於udp的,專門用於區域網,基於廣播
sock_stream 是資料流,一般是tcp/ip協議的程式設計,sock_dgram分是資料抱,是udp協議網路程式設計
關於tcp
1、tcp提供端到端、全雙工通訊;採用位元組流方式,如果位元組流太長,將其分段;提供緊急資料傳送功能。
2、tcp特性:
(1)面向連線的傳輸; (2)端到端的通訊; (3)高可靠性,確保傳輸資料的正確性,不出現丟失或亂序; (4)全雙工方式傳輸; (5)採用位元組流方式,即以位元組為單位傳輸位元組序列; (6)緊急資料傳送功能。
socket與sock的聯絡
套接字究竟是什麼 如果你知道linux系統中程序間通訊的方式,就應該知道套接字也是其中一種。但套接字特別之處在於它不僅可以用來實現同一臺主機上程序間的通訊,還可以用來實現主機間的程序間的通訊。通訊的雙方各自開啟乙個套接字,套接字之間通過通訊鏈路相連。如果把兩個套接字之間的 連線 比喻成 水管 那麼套...
套接字的秘密 socket與sock
那麼如何把套接字和檔案聯絡起來呢?答案就是通過下面這張圖。其中task struct表示乙個程序,files struct中的fd array表示該程序開啟的所有描述符,對於套接字來說,與其他型別檔案的區別就是最終f op指向的是socket file ops。不過,可以看到,這裡的socket f...
sock程式設計學習2
面向連線的服務sock stream sock seqpacket,在開始交換資料之前,需要在請求服務的程序套接字和提供服務的程序套接字之間建立乙個連線 客戶端通過呼叫connect.int connect int sockfd const struct addr,socklen t len 在co...