chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

1.大端模式,小端模式

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

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

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

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

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

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

1.htonl與htons區(qū)別《大小端》host —— to —— net——l :主機(jī)字節(jié)變?yōu)榫W(wǎng)絡(luò)字節(jié),字節(jié)為大端模式host —— to —— net——s :主機(jī)字節(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);//將主機(jī)字節(jié)的unsigned long轉(zhuǎn)為網(wǎng)絡(luò)字節(jié)順序(32位)u_long b = ntohl(a);//將網(wǎng)絡(luò)字節(jié)順序(32位)轉(zhuǎn)為主機(jī)字節(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2938

    文章

    46918

    瀏覽量

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

    關(guān)注

    89

    文章

    3704

    瀏覽量

    96254
  • LwIP
    +關(guān)注

    關(guān)注

    2

    文章

    89

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例socket CAN

    和汽車(chē)領(lǐng)域的網(wǎng)絡(luò)技術(shù)。Linux下最早使用CAN的方法是基于字符設(shè)備來(lái)實(shí)現(xiàn)的,與不同的是Socket CAN使用伯克利的socket接口和linux網(wǎng)絡(luò)協(xié)議棧,這種方法使得can設(shè)備驅(qū)動(dòng)可以通過(guò)網(wǎng)絡(luò)
    發(fā)表于 11-14 08:51

    socket 和 UDP 協(xié)議的對(duì)比

    在現(xiàn)代互聯(lián)網(wǎng)技術(shù)中,數(shù)據(jù)傳輸是核心功能之一。為了實(shí)現(xiàn)這一功能,我們依賴(lài)于各種通信協(xié)議和接口。Socket 和 UDP 是兩種廣泛使用的網(wǎng)絡(luò)通信技術(shù),它們?cè)趯?shí)現(xiàn)網(wǎng)絡(luò)通信方面各有特點(diǎn)和用途
    的頭像 發(fā)表于 11-12 14:28 ?1255次閱讀

    socket聯(lián)網(wǎng)中的應(yīng)用

    聯(lián)網(wǎng)(IoT)是一個(gè)由互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)、傳感器網(wǎng)絡(luò)等多種網(wǎng)絡(luò)組成的網(wǎng)絡(luò),它允許物體與物體、物體與人、人與人之間的智能互聯(lián)和數(shù)據(jù)交換。 1. Socket基礎(chǔ)
    的頭像 發(fā)表于 11-12 14:19 ?1454次閱讀

    socket 多線程編程實(shí)現(xiàn)方法

    在現(xiàn)代網(wǎng)絡(luò)編程中,多線程技術(shù)被廣泛應(yīng)用于提高服務(wù)器的并發(fā)處理能力。Socket編程是網(wǎng)絡(luò)通信的基礎(chǔ),而將多線程技術(shù)應(yīng)用于Socket編程,可
    的頭像 發(fā)表于 11-12 14:16 ?1337次閱讀

    socket 發(fā)送和接收數(shù)據(jù)方法

    1. Socket 基本概念 在網(wǎng)絡(luò)編程中,socket 是一個(gè)通信端點(diǎn)。它允許程序發(fā)送和接收數(shù)據(jù)。根據(jù)通信協(xié)議的不同,socket 可以分為以下幾種類(lèi)型: 流式
    的頭像 發(fā)表于 11-12 14:07 ?2251次閱讀

    socket 編程基礎(chǔ)入門(mén)

    Socket 編程基礎(chǔ)入門(mén) 在計(jì)算機(jī)網(wǎng)絡(luò)中,Socket 是一個(gè)抽象層,它將網(wǎng)絡(luò)通信的細(xì)節(jié)隱藏起來(lái),為開(kāi)發(fā)者提供了一個(gè)簡(jiǎn)單的接口來(lái)發(fā)送和接收數(shù)據(jù)。Socket
    的頭像 發(fā)表于 11-12 14:03 ?1468次閱讀

    聯(lián)網(wǎng)學(xué)習(xí)路線來(lái)啦!

    聯(lián)網(wǎng)學(xué)習(xí)路線來(lái)啦! 聯(lián)網(wǎng)方向作為目前一個(gè)熱門(mén)的技術(shù)發(fā)展方向,有大量的人才需求,小白的學(xué)習(xí)入門(mén)路線推薦以下步驟。 1.了解
    發(fā)表于 11-11 16:03

    socket聯(lián)網(wǎng)中的應(yīng)用案例

    聯(lián)網(wǎng)(IoT)是一個(gè)由互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)、傳感器網(wǎng)絡(luò)等多種網(wǎng)絡(luò)組成的網(wǎng)絡(luò),它允許物體與物體、物體與人、人與人之間的智能化交互。在這個(gè)過(guò)程中,Socket(套接字)作為網(wǎng)絡(luò)通信的基本接
    的頭像 發(fā)表于 11-04 09:17 ?1203次閱讀

    C語(yǔ)言中的socket編程基礎(chǔ)

    Socket編程簡(jiǎn)介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語(yǔ)言中,socket編程是網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-01 16:51 ?1678次閱讀

    socket編程中的阻塞與非阻塞

    在網(wǎng)絡(luò)編程中, socket 是一個(gè)非常重要的概念,它提供了一個(gè)抽象層,使得開(kāi)發(fā)者可以不必關(guān)心底層的網(wǎng)絡(luò)通信細(xì)節(jié)。 socket 編程中的阻塞與非阻塞模式是兩種不同的操作方式,它們對(duì)程
    的頭像 發(fā)表于 11-01 16:13 ?965次閱讀

    什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系

    什么是Socket編程 Socket編程是一種網(wǎng)絡(luò)編程技術(shù),它允許程序之間進(jìn)行通信。在計(jì)算機(jī)科學(xué)中,so
    的頭像 發(fā)表于 11-01 16:01 ?1541次閱讀