国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > Linux下網(wǎng)絡(luò)編程實現(xiàn)UDP,還有大量實例

Linux下網(wǎng)絡(luò)編程實現(xiàn)UDP,還有大量實例 時間:2018-08-15      來源:未知

【1】概念

【2】程序流程

【3】相關(guān)函數(shù)

1)創(chuàng)建套接字

2)綁定網(wǎng)絡(luò)信息結(jié)構(gòu)體

3)接受數(shù)據(jù)

4)發(fā)送數(shù)據(jù)

【4】項目:基于udp 的網(wǎng)絡(luò)聊天室

【1】概念

UDP(User Datagram Protocol即用戶數(shù)據(jù)報協(xié)議):面向無連接的,不可靠的,不保證分組順序到達(dá)的網(wǎng)絡(luò)服務(wù)

【2】程序流程

(1)服務(wù)器:

創(chuàng)建套接字 socket( )

填充服務(wù)器網(wǎng)絡(luò)信息結(jié)構(gòu)體 sockaddr_in

將套接字與服務(wù)器網(wǎng)絡(luò)信息結(jié)構(gòu)體綁定 bind( )

進行通信 recvfrom( )/sendto( )

(2)客戶端:

創(chuàng)建套接字 socket( )

填充服務(wù)器網(wǎng)絡(luò)信息結(jié)構(gòu)體 sockaddr_in

進行通信 sendto( )/recvfrom( )

使用socket創(chuàng)建sockfd時應(yīng)使用SOCK_DGRAM 數(shù)據(jù)報套接字 udp

shell指令 nc 選項 服務(wù)器的IP地址 端口號(客戶端)加 -u 代表UDP 不加代表TCP

加 -l 代表服務(wù)器 不加代表客戶端

模擬的是回聲服務(wù)器作用

【3】相關(guān)函數(shù)

1)創(chuàng)建套接字




 

2)綁定網(wǎng)絡(luò)信息結(jié)構(gòu)體




 

3)接受數(shù)據(jù)

 

注意:與accept類似,在定義socklen_t addrlen =sizeof(struct sockaddr); 取地址傳參,必須先初始化,在不對len進行初始化時,recvfrom第一次接受的數(shù)據(jù),內(nèi)核處理會根據(jù)當(dāng)前l(fā)en值即亂碼進行數(shù)據(jù)處理,得到的地址信息結(jié)構(gòu)體數(shù)據(jù)也為亂碼。之后,內(nèi)核知曉地址信息結(jié)構(gòu)體大小,會對len值進行修改,即第二次之后得到的地址信息結(jié)構(gòu)體為正確的。未初始化時,如果變量內(nèi)值為正數(shù),則可以正常輸出,但值不正確,但若變量內(nèi)值為負(fù)值,內(nèi)核無法處理,則會直接報錯。

4)發(fā)送數(shù)據(jù)



【4】項目:基于udp 的網(wǎng)絡(luò)聊天室

功能:

當(dāng)有人登陸時,其他在線的人可以收到這個人的登錄信息當(dāng)有人發(fā)消息時,其他在線用戶可以接受到這個信息當(dāng)有人退出時,其他人可以收到這個人的退出信息服務(wù)器可以發(fā)送系統(tǒng)信息

 

服務(wù)器端:

如何實現(xiàn)端對端的通信:

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

可以在服務(wù)器的存儲鏈表中增加一個成員變量,用來標(biāo)識每一個成員,而后根據(jù)客戶端的選擇進行通信在服務(wù)器發(fā)送消息的功能中,首先判斷客戶端是發(fā)送單聊或是群聊

 

服務(wù)器:









上一篇:sqlite3數(shù)據(jù)庫詳細(xì)介紹,為sqlite3數(shù)據(jù)庫學(xué)習(xí)加速

下一篇:網(wǎng)絡(luò)編程基礎(chǔ)概念總結(jié)

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號

回到頂部