一. linux下udp程式設計框架
使用udp進行程式設計可以分為客戶端和伺服器端兩部分。
1.伺服器端程式包括:
ø 建立套接字
ø 將套接字位址結構進行繫結
ø 讀寫資料
ø 關閉套接字
2.客戶端程式包括:
ø 建立套接字
ø 讀寫資料
ø 關閉套接字
3.伺服器端和客戶端程式之間的差別
伺服器端和客戶端兩個流程之間的主要差別在於對位址的繫結函式(bind()函式),而客戶端可以不用進行位址和埠的繫結操作(由核心來隨機分配埠)。
二.linux中udp套接字函式
從圖可知,udp協議的服務端程式設計的流程分為套接字建立,套接字與位址結構進行繫結,收發資料,關閉套接字;客戶端程式流程為套接字建立,收發資料,關閉套接字等過程。它們分別對應socket(),bind(),sendto(),recvfrom(),和close()函式。
網路程式通過呼叫socket()函式,會返回乙個用於通訊的套接字描述符。linux應用程式在執行任何形式的i/o操作的時候,程式是在讀或者寫乙個檔案描述符。因此,可以把建立的套接字描述符看成普通的描述符來操作,並通過讀寫套接字描述符來實現網路之間的資料交流。
Linux下的UDP程式設計
一 引言 udp是tcp ip協議中的傳輸層協議的一種,本文介紹了在linux下編寫基於udp協議的client server模型的程式的方法,並給出了乙個echo client server例子程式。二 udp協議簡介 udp是一種簡單的傳輸層協議,在rfc768中有詳細描述。udp協議是一種非連...
Linux下的UDP連線程式設計
udp是無連線不可靠的ip協議,和tcp有所不同。udp伺服器呼叫socket bind listen 完成套接字初始化後,呼叫accept 阻塞等待處於監聽埠的狀態。udp客戶端呼叫socket 初始化後,呼叫connect 傳送syn欄位並阻塞等待應答。客戶端如果一直與服務端連線,服務端退出後重...
基於UDP的socket程式設計
轉貼自 udpsocket sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於udp的socket程式設計是採用的資料報套接字。在這個程式中,將兩個工程新增到乙個工作區。同時還要鏈結乙個ws2 32.li...