0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】TCP/IP编程简述和TCP客户端demo

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-07 13:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:刘宇莹, 帖子地址:https://bbs.elecfans.com/jishu_2008562_1_1.html


本篇学习内容主要参考润和官方demo

https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development
连老师TCPdemo,连老师写的是服务器,我这个就写了一个客户端
https://bbs.elecfans.com/jishu_1994928_1_1.html
包括以前在朱老师大讲堂学习网络编程相关知识,再此做个整理,感谢各位老师。

1、网络编程的框架162551izmfse75ws7mmske.png
应用层
网络服务与最终用户的一个接口
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、EBCDIC、加密格式等
会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
传输层
定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6)
数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
物理层
建立、维护、断开物理连接。(由底层网络定义协议)
(以上摘自百度百科 七层模型)
2、TCP 协议
(1)工作在传输层,对上服务socket接口(API),对下IP层(数据链路层)
(2)面向链接,通信前必须建立链接,需要先3次握手,也就是先拨号,QQ聊天就不是面向链接的,因为可以留言,但是视频或者打电话就必须建立链接
(3)TCP传输可靠,不拍丢包、乱序等

3、TCP协议如何保证
(1)必须先握手(三次握手建立连接,四次握手关闭连接)
(2)接收方收到数据后必应答,否则发送方会丢包重传
(3)内容附带校验
(4)根据网络带宽来自动调节适配速率(滑动窗口技术),通俗讲就是发送成功了会慢慢变快,失败了会慢慢变慢
(5)发送方会给各分割报文编号,接收方会校验编号,一旦顺序错误即会重传
以上(1)、(2)、(3)、(4)对应的是一个包内部的可靠方式 (5)是每个包之间的可靠保证。

4、socket服务器编程接口
(1)socket类似open,用来打开一个网络连接,返回一个网络文件描述符server_fd,之后网络连接的操作都通过网络文件描述符
(2)bind 把本地的IP地址和网络文件描述符(server_fd)绑定起来
(3)listen backlog监听队列长度,主要看服务器的带载能力,允许同时访问的数量
(4)accept阻塞等待,如果返回,返回客户端的sockaddr 和长度(sockaddr的长度),返回值为client_fd。之后和这个客户端的读写都通过client_fd。
(5)send/write写操作
(6)recv/read读操作
(7)close会话完成后,可以执行close关闭

5、socket服务器编程接口
(1)socket类似open,用来打开一个网络连接,返回一个网络文件描述符server_fd,之后网络连接的操作都通过网络文件描述符
(2)connect 连接目标服务器
(3)send/write写操作
(4)recv/read读操作
(5)close会话完成后,可以执行close关闭

下面是鸿蒙tcp客户端的demo

附上作者原项目源代码下载,详细见作者原帖子文章。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    15

    文章

    2484

    浏览量

    130204
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36411
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7814
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索 xPico® Wi-Fi 嵌入式无线设备服务器:M2M 与 IoT 应用的理想之选

    xPico Wi-Fi 是 xPico 家族中一款引脚和外形尺寸兼容的先进产品。它具有低功耗特点,支持 Soft AP 和同时客户端模式,拥有完整的 IP 和 WLAN 堆栈。
    的头像 发表于 05-21 14:05 64次阅读

    探索xPico Wi-Fi:小巧灵活的物联网设备服务器

    探索xPico Wi-Fi:小巧灵活的物联网设备服务器 在当今物联网(IoT)和机器对机器(M2M)通信飞速发展的时代,一款性能卓越、小巧灵活的无线设备服务器对于电子工程师来说至关重要。今天,我们
    的头像 发表于 05-21 14:05 74次阅读

    如何在此设置中为 CASE 启用 TCP 以进行 Wi-Fi 调试吗?

    TCP.但是,我不确定 FRDM-RW612型 设备和芯片工具需要哪些配置或步骤才能强制 CASE over TCP. 谁能指导我如何在此设置中为 CASE 启用 TCP 以进行
    发表于 05-15 06:25

    Qorvo深度探讨Wi-Fi 8的核心特性和设计挑战

    随着无线需求的不断升级,Wi-Fi 8的到来为系统和硬件设计师带来一个关键的转折点。Wi-Fi 8不仅仅是又一次速度上的代际提升,更有望改变接入点(AP)、客户端设备和无线系统相互协同的方式,突破性能、效率,与共存能力的边界。
    的头像 发表于 02-03 14:33 1140次阅读

    押注智能物联网和AI加速融合,Ceva推出Wi-Fi7客户端IP

    电子发烧友原创 章鹰 近期,苹果发布最新 iPhone 17、iPhone 17 Pro、iPhone 17 Pro Max 和 iPhone Air,皆搭载苹果全新 N1芯片,支持 Wi-Fi 7
    的头像 发表于 11-22 07:12 9398次阅读
    押注智能物联网和AI加速融合,Ceva推出<b class='flag-5'>Wi-Fi</b>7<b class='flag-5'>客户端</b><b class='flag-5'>IP</b>

    Ceva推WiFi7 1x1客户端IP 助力打造更智能、更敏捷的人工智能物联网设备及新兴物理人工智能系统

    现已上市并获得多家客户采用的Ceva-Waves Wi-Fi® 7 1x1客户端IP提供超高性能与低延迟连接能力,助力可穿戴设备、智能家居设备及工业物联网实现边缘智能     随着物联
    的头像 发表于 11-03 18:23 9218次阅读
    Ceva推WiFi7 1x1<b class='flag-5'>客户端</b><b class='flag-5'>IP</b> 助力打造更智能、更敏捷的人工智能物联网设备及新兴物理人工智能系统

    libmodbus库问题:TCP模式下客户端超时断开后无法再次重连怎么解决?

    情况1 :用libmodbus的TCP demo,发现用客户端软件连接收发如果超时后在启动连接就无法连接上libmodbus服务器了,声明:客户端此时不会主动断开连接。 情况2:
    发表于 10-14 08:17

    基于Microchip WFI32E02UC Wi-Fi® MCU模块的物联网应用开发指南

    Microchip Technology WFI32E02UC高引脚数 (HPC) Wi-Fi® MCU模块设有60个GPIO引脚,专门设计用于工业物联网 (IoT) 应用。WFI32E02UC
    的头像 发表于 10-09 14:05 821次阅读
    基于Microchip WFI32E02UC <b class='flag-5'>Wi-Fi</b>® MCU模块的物联网应用开发指南

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    silex希来科的产品在最新的Wi-Fi技术和个人客户支持解决方案

    silex希来科的产品在最新的Wi-Fi技术和个人客户支持解决方案
    的头像 发表于 08-27 15:19 921次阅读
    silex希来科的产品在最新的<b class='flag-5'>Wi-Fi</b>技术和个人<b class='flag-5'>客户</b>支持解决方案

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 1476次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻<b class='flag-5'>客户</b>设计负担

    GraniStudio : TCP/IP(Socket)协议深度剖析

    (Socket)客户端与服务器模块,通过高度封装的可视化功能,将复杂的套接字通信逻辑转化为简单的 “拖拽式” 操作,为工业用户构建稳定、高效的网络通信系统提供了强大支撑。本文将从技术原理、功能实现、应用场景三个维度,深入解析 GraniStudio 中 TCP/
    的头像 发表于 08-03 22:20 1447次阅读
    GraniStudio : <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>(Socket)协议深度剖析

    Texas Instruments CC335x SimpleLink™双频Wi-Fi® 6配套IC数据手册

    ) 和Wi-Fi 5 (802.11ac)。这些CC335x是Texas Instruments的第10代连接组合芯片。因此,CC335x基于成熟的技术设计而成。这些器件非常适合配备运行TCP/IP的Linux或
    的头像 发表于 07-23 11:37 1898次阅读
    Texas Instruments CC335x SimpleLink™双频<b class='flag-5'>Wi-Fi</b>® 6配套IC数据手册

    Modbus TCP连接多个客户端解决方法-深圳市振鑫通信科技

    ZP-MBS008多主站模块是实现Modbus-TCP连接多个客户端或者服务器通讯设备
    的头像 发表于 06-25 11:07 2168次阅读
    Modbus <b class='flag-5'>TCP</b>连接多个<b class='flag-5'>客户端</b>解决方法-深圳市振鑫通信科技

    ‌迅通PTR7002 Wi-Fi 6模块技术解析

    在物联网设备对无线连接性能要求日益严苛的背景下,迅通推出的‌PTR7002 Wi-Fi 6模块‌凭借其技术特性成为开发者关注的硬件方案。本文将从芯片架构、射频性能及开发支持等维度进行深度剖析
    发表于 06-10 10:38