SOCK_STREAM

SOCK_STREAM提供面向連線的穩定數據傳輸,即TCP協定。SOCK_STREAM套用在C語言socket編程中,在進行網路連線前,需要用socket函式向系統申請一個通信連線埠。

基本介紹

  • 中文名:SOCK_STREAM
  • 外文名:無
  • 別名:TCP協定
  • 詞性:名詞 
使用方法,使用說明,

使用方法

int socket(int domain, int type, int protocol);
在參數表中,domain指定使用何種的地址類型,比較常用的有:
PF_INET, AF_INET: Ipv4網路協定
PF_INET6, AF_INET6: Ipv6網路協定。
type參數的作用是設定通信的協定類型,可能的取值如下所示:
SOCK_STREAM: 提供面向連線的穩定數據傳輸,即TCP協定。
OOB: 在所有數據傳送前必須使用connect()來建立連線狀態。
SOCK_DGRAM: 使用不連續不可靠的數據包連線。
SOCK_SEQPACKET: 提供連續可靠的數據包連線。
SOCK_RAW: 提供原始網路協定存取。
SOCK_RDM: 提供可靠的數據包連線。
SOCK_PACKET: 與網路驅動程式直接通信。
參數protocol用來指定socket所使用的傳輸協定編號。這一參數通常不具體設定,一般設定為0即可。

使用說明

1、介紹
當你進入 UNIX 的神秘世界後,立刻會發現越來越多的東西難以理解。對於大多數人來說,BSD socket 的概念就是其中一個。這是一個很短的教程來解釋他們是什麼、他們如何工作並給出一些簡單的代碼來解釋如何使用他們。
2、類比 (什麼是 socket ?)
socket 是進行程式間通訊(IPC)的 BSD 方法。這意味著 socket 用來讓一個進程和其他的進程互通信息,就象我們用電話來和其他的人交流一樣。
用電話來比喻是很恰當的,我們在後面將一直用電話這個概念來描敘 socket 。
3、裝上你的新電話(怎樣偵聽?)
一個人要能夠收到別人打給他的電話,首先他要裝上一門電話。同樣,你必須先建立 socket 以偵聽線路。這個過程包含幾個步驟。首先,你要建立一個新的 socket,就象先裝上電話一樣。socket() 命令就完成這個工作。
因為 sockets 有幾種類型,你要註明你要建立什麼類型的。你要做一個選擇是 socket 的地址格式。如同電話有音頻和脈衝兩種形式一樣,socket 有兩個最重要的選項是 AF_UNIX 和 AF_INET。AF_UNIX 就象 UNIX 路徑名一樣識別 sockets。這種形式對於在同一台機器上的 IPC 很有用。而 AF_INET 使用象 192.9.200.10 這樣被點號隔開的四個十進制數字的地址格式。除了機器地址以外,還可以利用連線埠號來允許每台機器上的多個 AF_INET socket。我們這裡將著重於 AF_INET 方式,因為他很有用並廣泛使用。
另外一個你必須提供的參數是 socket 的類型。兩個重要的類型是 SOCK_STREAM 和 SOCK_DGRAM。 SOCK_STREAM表明數據象字元流一樣通過 socket 。而 SOCK_DGRAM 則表明數據將是數據報(datagrams)的形式。我們將講解 SOCK_STREAM sockets,他很常見並易於使用。

相關詞條

熱門詞條

聯絡我們