UDP介紹:? ? https://baike.baidu.com/item/UDP/571511?fr=aladdin ? 詳細介紹
總結:
1、無連接連接 ?
2、UDP傳輸的可靠性由應用層負責? 應用層協(xié)議:DNS 53 ?TFTP 69 ?SNMP 161
3荤傲、過程中延遲小耻涛、數據傳輸效率高呐伞,適合對可靠性要求不高的應用程序
4敌卓、UDP 結構
5、分層封裝:在TCP/IP協(xié)議層次模型中伶氢,UDP位于IP層之上趟径。應用程序訪問UDP層然后使用IP層傳送數據報。IP層的報頭指明了源主機和目的主機地址癣防,而UDP層的報頭指明了主機上的源端口和目的端口蜗巧。
udp 包括接收和發(fā)送 ?如下代碼解析:
發(fā)送:sendto()
簡述:向一指定目的地發(fā)送數據。
#include
int PASCAL FAR sendto( SOCKET socket, const char FAR* buffer, int length:buf, int flags, const struct sockaddr FAR* to, int tolen);
socket:一個標識套接口的描述字蕾盯。
buffer:包含待發(fā)送數據的緩沖區(qū)惧蛹。
length:buf緩沖區(qū)中數據的長度。
flags:調用方式標志位刑枝。
to:(可選)指針,指向目的套接口的地址迅腔。
tolen:to所指地址的長度装畅。
使用只需制定目標 desAddIP ?port ?即可?
接收: recvfrom()
簡述:接收一個數據報并保存源地址。
#include
int PASCAL FAR recvfrom( SOCKET s, char FAR* buf, int len, int flags,
struct sockaddr FAR* from, int FAR* fromlen);
s:標識一個已連接套接口的描述字沧烈。
buf:接收數據緩沖區(qū)掠兄。
len:緩沖區(qū)長度。
flags:調用操作方式锌雀。
from:(可選)指針蚂夕,指向裝有源地址的緩沖區(qū)。
fromlen:(可選)指針腋逆,指向from緩沖區(qū)長度值婿牍。
使用只需制定目標 ?在原來的socket 綁定port ?監(jiān)聽 ?port 即可
封裝oc代碼:
github ?代碼: ? 過幾天就放源代碼