91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

物聯(lián)網(wǎng)LWIP之socket編程

撞上電子 ? 2024-01-18 08:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一,基礎(chǔ)概念在我看來Socket就相當于API,就是函數(shù)接口,我們使用Socket就可以在不清楚底層原理的基礎(chǔ)上進行通信,即Socket會幫助我們處理好網(wǎng)絡(luò)的Ip地址等。下圖就清晰地展示了Socket的位置,作為用戶層與其他層的交互媒介。

a5be4792-b594-11ee-aa22-92fbcf53809c.png

LWIP實現(xiàn)Socket需要操作系統(tǒng)的幫助,如下圖所示。

a5c23e38-b594-11ee-aa22-92fbcf53809c.png

二,Socket編程的基礎(chǔ)知識

1.大端模式,小端模式

(1)大端模式就是尾端為高地址(先取低地址)

a5d9f3d4-b594-11ee-aa22-92fbcf53809c.png

(2)小端模式就是尾端為低地址(先取高地址)

a5de32c8-b594-11ee-aa22-92fbcf53809c.png

2.地址轉(zhuǎn)換接口

Socket編程中會有特定的函數(shù)來處理IP地址,我們用戶可以直接省略判斷ip地址是大端還是小端,這個轉(zhuǎn)換接口會自己判斷地址存儲方式并轉(zhuǎn)換。

1.htonl與htons區(qū)別《大小端》host —— to —— net——l :主機字節(jié)變?yōu)榫W(wǎng)絡(luò)字節(jié),字節(jié)為大端模式host —— to —— net——s :主機字節(jié)變?yōu)榫W(wǎng)絡(luò)字節(jié),字節(jié)為小端模式
2.htonl與ntohl區(qū)別《主轉(zhuǎn)網(wǎng),網(wǎng)轉(zhuǎn)主》u_long b = htonl(a);//將主機字節(jié)的unsigned long轉(zhuǎn)為網(wǎng)絡(luò)字節(jié)順序(32位)u_long b = ntohl(a);//將網(wǎng)絡(luò)字節(jié)順序(32位)轉(zhuǎn)為主機字節(jié)//def.h 地址轉(zhuǎn)換接口uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);

3.IP地址轉(zhuǎn)換

(1)socket接口

//socket.hint inet_pton(int af, const char *src, void *dst);const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);

(2)LWIP接口

//inet.h#define inet_addr(cp) ipaddr_addr(cp)#define inet_aton(cp, addr) ip4addr_aton(cp, (ip4_addr_t*)addr)#define inet_ntoa(addr) ip4addr_ntoa((const ip4_addr_t*)&(addr))#define inet_ntoa_r(addr, buf, buflen) ip4addr_ntoa_r((const ip4_addr_t*)&(addr), buf, buflen)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2945

    文章

    47812

    瀏覽量

    414787
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97177
  • LwIP
    +關(guān)注

    關(guān)注

    2

    文章

    90

    瀏覽量

    29566
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TCP/IP(Socket)協(xié)議深度剖析

    TCP/IP協(xié)議作為互聯(lián)網(wǎng)通信的基礎(chǔ)架構(gòu),其核心機制Socket編程承載著全球數(shù)據(jù)交換的使命。本文將深入剖析這一協(xié)議的七層架構(gòu)、三次握手與四次揮手的精妙設(shè)計、流量控制與擁塞控制的動態(tài)平衡,以及現(xiàn)代互
    的頭像 發(fā)表于 03-03 17:06 ?454次閱讀

    socket是什么

    特定的IP地址和端口上等待客戶端連接,客戶端則通過Socket連接到服務(wù)器程序并進行通信。通過Socket技術(shù),可以實現(xiàn)不同操作系統(tǒng)和編程語言之間的通信,使得網(wǎng)絡(luò)應(yīng)用程序的開發(fā)更加靈活和方便
    發(fā)表于 12-03 08:27

    Lora基站在聯(lián)網(wǎng)應(yīng)用的重要性

    Lora基站在聯(lián)網(wǎng)應(yīng)用中具有重要的地位。首先,Lora基站可以實現(xiàn)對聯(lián)網(wǎng)設(shè)備的遠程監(jiān)測和控制,為聯(lián)
    發(fā)表于 12-03 07:09

    學(xué)習(xí)聯(lián)網(wǎng)怎么入門?

    隨著聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來越多的人開始關(guān)注學(xué)習(xí)這一領(lǐng)域。但是對于初學(xué)者來說,聯(lián)網(wǎng)似乎是一個龐雜的概念,學(xué)習(xí)起來很困難。因此,從哪里開始學(xué)習(xí)
    發(fā)表于 10-14 10:34

    學(xué)習(xí)聯(lián)網(wǎng)可以做什么工作?

    學(xué)習(xí)聯(lián)網(wǎng)專業(yè)后,你可以從事多種與聯(lián)網(wǎng)相關(guān)的工作。聯(lián)網(wǎng)是一個非常新穎和實用的領(lǐng)域,各種應(yīng)用場
    發(fā)表于 10-11 16:40

    請問什么是聯(lián)網(wǎng)智庫?

    什么是聯(lián)網(wǎng)智庫?
    發(fā)表于 08-07 06:45

    GraniStudio : TCP/IP(Socket)協(xié)議深度剖析

    在工業(yè)自動化與聯(lián)網(wǎng)領(lǐng)域,TCP/IP(Socket)協(xié)議作為應(yīng)用最廣泛的網(wǎng)絡(luò)通信標準,是實現(xiàn)設(shè)備間數(shù)據(jù)交互的核心技術(shù)。GraniStudio 軟件作為工業(yè)級零代碼開發(fā)平臺,其內(nèi)置的 TCP/IP
    的頭像 發(fā)表于 08-03 22:20 ?1186次閱讀
    GraniStudio : TCP/IP(<b class='flag-5'>Socket</b>)協(xié)議深度剖析

    聯(lián)網(wǎng)藍牙模塊有哪些優(yōu)勢?

    隨著聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,藍牙模塊作為聯(lián)網(wǎng)的重要組成部分,其應(yīng)用越來越廣泛。那么,聯(lián)網(wǎng)藍牙模
    發(fā)表于 06-28 21:49

    PLC數(shù)據(jù)采集全自動薄膜橫切機聯(lián)網(wǎng)解決方案

    PLC數(shù)據(jù)采集全自動薄膜橫切機聯(lián)網(wǎng)解決方案
    的頭像 發(fā)表于 06-20 14:25 ?704次閱讀
    PLC數(shù)據(jù)采集<b class='flag-5'>之</b>全自動薄膜橫切機<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>解決方案

    聯(lián)網(wǎng)的應(yīng)用范圍有哪些?

    聯(lián)網(wǎng),簡單來說,就是“萬相連的互聯(lián)網(wǎng)”。它以互聯(lián)網(wǎng)為基石,將用戶端延伸至物品與物品之間,實現(xiàn)信息的交換與通信。打個比方,你的智能手表能實
    發(fā)表于 06-16 16:01

    聯(lián)網(wǎng)未來發(fā)展趨勢如何?

    近年來,聯(lián)網(wǎng)行業(yè)以其驚人的增長速度和無限的潛力成為了全球科技界的焦點。它正在改變我們的生活方式、商業(yè)模式和社會運轉(zhuǎn)方式。那么,聯(lián)網(wǎng)行業(yè)的未來發(fā)展趨勢將會是怎樣的呢?讓我們一同探尋其
    發(fā)表于 06-09 15:25

    聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    依賴Linux的安全啟動機制。 三、職業(yè)需求與就業(yè)優(yōu)勢 1)崗位技能硬性要求 企業(yè)招聘中,約70%的聯(lián)網(wǎng)開發(fā)崗位明確要求具備Linux系統(tǒng)編程、內(nèi)核移植或驅(qū)動開發(fā)經(jīng)驗。例如,設(shè)備端固件開發(fā)
    發(fā)表于 05-26 10:32

    智多晶LWIP網(wǎng)絡(luò)通信系統(tǒng)介紹

    聯(lián)網(wǎng)蓬勃興起的當下,嵌入式設(shè)備的網(wǎng)絡(luò)通信能力如同為其插上了騰飛的翅膀,使其能夠自由穿梭于信息的浩瀚海洋。而 LWIP,宛如一位身姿矯健的輕騎兵,在資源有限的嵌入式系統(tǒng)中飛馳,輕松完成各種復(fù)雜的網(wǎng)絡(luò)通信任務(wù)。西安智多晶微電子有
    的頭像 發(fā)表于 04-10 16:27 ?2081次閱讀
    智多晶<b class='flag-5'>LWIP</b>網(wǎng)絡(luò)通信系統(tǒng)介紹

    為什么選擇蜂窩聯(lián)網(wǎng)

    在為您的聯(lián)網(wǎng)(IoT)應(yīng)用評估最合適的低功耗廣域網(wǎng)(LPWAN)技術(shù)時,除了考慮技術(shù)指標外,還必須考慮各種因素,因為技術(shù)指標本身可能與實際性能大相徑庭。與 LoRaWAN、Sigfox
    發(fā)表于 03-17 11:42

    STM32H7使用LWIP通信,數(shù)據(jù)量過大會卡死怎么解決?

    (\"連接服務(wù)器失敗n\");lwip_close(client_socket);client_socket = -1;is_connected = false; } else
    發(fā)表于 03-11 06:43