1. 程式人生 > >C語言例項--資料報socket通訊過程

C語言例項--資料報socket通訊過程

各位看官們,大家好,上一回中咱們說的是socket通訊的例子,這一回咱們繼續說該例子。閒話休提,言
歸正轉。讓我們一起talk C栗子吧! (點選這裡檢視原文

看官們,我們在上一回中介紹了套接字的通訊步驟,限於時間的原因, 我們只介紹了流套接字的通訊步驟。
這一回中我們將介紹資料報套接字的通訊步驟。

下面是客戶端和伺服器端實現通訊的詳細步驟:

客戶端實現通訊的步驟:

  • 1.建立客戶端套接字(socket);
  • 2.設定客戶端套接字的屬性:域,型別和協議;
  • 3.通過操作客戶端套接字來實現客戶端與伺服器的通訊(sendto,recvfrom);
  • 4.釋放套接字,斷開客戶端與伺服器端的通訊(close,shutdown);

伺服器端實現通訊的步驟:

  • 1.建立伺服器端套接字(socket);
  • 2.設定伺服器端套接字的屬性:域,型別和協議;
  • 3.把伺服器端的套接字和伺服器的地址繫結在一起,本質上是在指定伺服器端的通訊程序(bind);
  • 4.通過操作伺服器端套接字來實現客戶端與伺服器的通訊(sendto,recvfrom);
  • 5.釋放套接字,斷開伺服器端與客戶端的通訊(close,shutdown);

看官們,與流套接字的通訊步驟相比,使用資料報套接字通訊時沒有連線的過程,這主要是因為流套接字
使用的是面向連線的TCP/IP協議,而資料報套接字使用的是無連線的資料報協議(UDP協議)。

在上面的步驟中,我們把每個步驟中需要使用到的系統呼叫都列出來了,它們位於括號中。括號中大部分
的系統呼叫和前面章回中的系統呼叫相同 ,只是新增加了兩個系統呼叫:sendto,recvfrom。我們在後
面的章回中會介紹這些系統呼叫。

各位看官,關於資料報socket通訊過程的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解 。