久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > Linux下網絡編(bian)程實現UDP,還有(you)大量實例

Linux下網絡編程實(shi)現(xian)UDP,還有大(da)量實(shi)例 時(shi)間:2018-08-15      來源(yuan):未(wei)知(zhi)

【1】概念

【2】程序流程

【3】相(xiang)關函數

1)創建套接字

2)綁定網絡信息結構體

3)接受(shou)數據

4)發送數據

【4】項目:基于udp 的網(wang)絡聊天室(shi)

【1】概念

UDP(User Datagram Protocol即(ji)用戶數據報協議):面向無連接的,不可靠的,不保(bao)證分組(zu)順序到(dao)達的網絡服(fu)務

【2】程序流程

(1)服務器(qi):

創建套接字 socket( )

填充服務器網絡信(xin)息(xi)結構(gou)體 sockaddr_in

將套接字與服務器網(wang)絡信息(xi)結構體綁定(ding) bind( )

進行(xing)通(tong)信(xin) recvfrom( )/sendto( )

(2)客戶(hu)端:

創(chuang)建(jian)套接字(zi) socket( )

填充服務器網絡(luo)信息結構(gou)體 sockaddr_in

進行通信 sendto( )/recvfrom( )

使(shi)用socket創建sockfd時應使(shi)用SOCK_DGRAM 數據報套接字 udp

shell指(zhi)令 nc 選(xuan)項 服務器(qi)的(de)IP地址 端口(kou)號(客戶端)加 -u 代(dai)表UDP 不加代(dai)表TCP

加 -l 代表服務器 不(bu)加代表客戶(hu)端

模擬的是回聲服務器作用

【3】相關函數

1)創建套(tao)接(jie)字(zi)




 

2)綁定網(wang)絡信息(xi)結(jie)構(gou)體




 

3)接受數據

 

注意:與accept類似,在定義socklen_t addrlen =sizeof(struct sockaddr); 取(qu)地(di)址傳參,必(bi)須(xu)先初始化,在不(bu)對len進行(xing)初始化時,recvfrom第一次接(jie)受的(de)數據(ju)(ju),內(nei)(nei)核(he)處(chu)理(li)會根據(ju)(ju)當前(qian)len值(zhi)即亂碼進行(xing)數據(ju)(ju)處(chu)理(li),得(de)到的(de)地(di)址信息結構(gou)體(ti)數據(ju)(ju)也為亂碼。之后(hou),內(nei)(nei)核(he)知曉地(di)址信息結構(gou)體(ti)大小,會對len值(zhi)進行(xing)修(xiu)改(gai),即第二(er)次之后(hou)得(de)到的(de)地(di)址信息結構(gou)體(ti)為正(zheng)確的(de)。未初始化時,如果變(bian)量內(nei)(nei)值(zhi)為正(zheng)數,則可以正(zheng)常(chang)輸出(chu),但(dan)(dan)值(zhi)不(bu)正(zheng)確,但(dan)(dan)若變(bian)量內(nei)(nei)值(zhi)為負值(zhi),內(nei)(nei)核(he)無法處(chu)理(li),則會直接(jie)報(bao)錯。

4)發送數據



【4】項目:基于udp 的網絡聊天室(shi)

功能:

 當有人登陸時(shi)(shi),其他(ta)在線(xian)的(de)(de)人可(ke)(ke)以收到這(zhe)(zhe)個人的(de)(de)登錄信息(xi)當有人發消息(xi)時(shi)(shi),其他(ta)在線(xian)用戶可(ke)(ke)以接受到這(zhe)(zhe)個信息(xi)當有人退出(chu)時(shi)(shi),其他(ta)人可(ke)(ke)以收到這(zhe)(zhe)個人的(de)(de)退出(chu)信息(xi)服務器(qi)可(ke)(ke)以發送系統信息(xi)

 

服務器端:

如何實現端對端的通信:

由服務(wu)器通(tong)知在線人員,然后客戶端選擇與誰通(tong)信

可(ke)以在服務(wu)器(qi)的(de)存儲鏈表(biao)中增加一(yi)個(ge)成員變量,用(yong)來標(biao)識每一(yi)個(ge)成員,而后根(gen)據客(ke)戶端的(de)選擇(ze)進行通信在服務(wu)器(qi)發(fa)(fa)送(song)消(xiao)息(xi)的(de)功(gong)能中,首先判(pan)斷客(ke)戶端是(shi)(shi)發(fa)(fa)送(song)單聊(liao)(liao)或(huo)是(shi)(shi)群(qun)聊(liao)(liao)

 

服務器:









上一篇:sqlite3數據庫詳細介紹,為sqlite3數據庫學習加速

下一篇:網絡編程基礎概念總結

熱點(dian)文章推薦
華清學員就業榜單
高薪學員(yuan)經(jing)驗分享
熱(re)點(dian)新聞推薦
前臺專線:010-82525158 企業培訓洽(qia)談專線:010-82525379 院(yuan)校合作洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部