亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

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

Linux下網絡編程實現UDP,還有大量實例 時間:2018-08-15      來源:未知

【1】概念

【2】程序流程

【3】相關函數

1)創建套接字

2)綁定網絡信息結構體

3)接受數據

4)發送數據

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

【1】概念

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

【2】程序流程

(1)服務器:

創建套接字 socket( )

填充服務器網絡信息結構體 sockaddr_in

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

進行通信 recvfrom( )/sendto( )

(2)客戶端:

創建套接字 socket( )

填充服務器網絡信息結構體 sockaddr_in

進行通信 sendto( )/recvfrom( )

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

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

加 -l 代表服務器 不加代表客戶端

模擬的是回聲服務器作用

【3】相關函數

1)創建套接字




 

2)綁定網絡信息結構體




 

3)接受數據

 

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

4)發送數據



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

功能:

當有人登陸時,其他在線的人可以收到這個人的登錄信息當有人發消息時,其他在線用戶可以接受到這個信息當有人退出時,其他人可以收到這個人的退出信息服務器可以發送系統信息

 

服務器端:

如何實現端對端的通信:

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

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

 

服務器:









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

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

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

回到頂部

主站蜘蛛池模板: 久久人人爽人人爽大片aw | 欧美国产日韩在线观看 | 久久国产大片 | 欧美一区二区三区免费不卡 | 国产在线一91区免费国产91 | 台湾黄色毛片 | 国内精品久久久久久久星辰影视 | 日韩人成免费网站大片 | 日本成年x片免费观看网站 日本成年免费网站 | 欧美影视一区二区三区 | 日本高清视频免费看 | 天天色亚洲 | 久久国产午夜精品理论片34页 | 人人澡人人澡人人看添欧美 | 激情网站网址 | 国产一区二区三区久久精品小说 | 欧美性色一级在线观看 | 天堂网a| 人妖无码 | 欧美不卡一区二区三区 | 青青草a国产免费观看 | 米奇7777狠狠狠狠视频影院 | 久久国产大片 | 欧美一区二区视频在线观看 | 精品欧美日韩一区二区 | 国产农村乱子伦精品视频 | 亚洲一区日本 | 中文字幕一级毛片视频 | 欧美黑人3p | 波多野结衣视频一区二区 | 国产精品久久久久久久毛片 | 亚洲国产欧洲精品路线久久 | 国产一卡2卡3卡4卡网站贰佰信 | 亚洲www在线 | 国产精品二区在线 | 日本a黄色片 | 久草高清 | 国产一级鲁丝片 | 日本巨黄泡妞视频 | 看毛片免费 | 美国人和狍xxxx视频 |