登录
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】TCP/IP编程简述和TCP客户端demo
开发板试用精选
2022-11-07
446
分享海报
开发板试用精选
807 文章
84.6w阅读
142粉丝
+关注
描述
本文来源电子发烧友社区,作者:刘宇莹, 帖子地址:
https://bbs.elecfans.com/jishu_2008562_1_1.html
本篇学习内容主要参考润和官方demo
https://gitee.com/hihopeorg/HarmonyOS-IoT-Applica
ti
on-Development
连老师TCPdemo,连老师写的是服务器,我这个就写了一个客户端
https://bbs.elecfans.com/jishu_1994928_1_1.html
包括以前在朱老师大讲堂学习网络编程相关知识,再此做个整理,感谢各位老师。
1、网络编程的框架
应用层
网络服务与最终用户的一个接口。
协议有: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
附上作者原项目源代码下载,详细见作者原帖子文章。
打开APP阅读更多精彩内容
点击阅读全文
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
wi-fi
HarmonyOS
HiSpark
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】智能门禁系统
2020-09-25
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连
连载
】开箱报告
2020-09-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】基于
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
的温控面板
2020-10-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】2-从
DEMO
中学习代码与控制
2020-11-07
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】
TCP
/
IP
编程
简述
和
TCP
客户端
demo
2020-11-14
0
[
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
]
试用
报告
2020-11-16
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】CHAPTER 1 ---- 开箱报告
2020-12-31
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
智能家居
套件
体验 】
HarmonyOS
HiSpark
Wi-Fi
IoT
介绍+第一印象
2022-06-25
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】
TCP
上传温湿度
2022-08-21
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】播放音乐
2022-10-31
965
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】wifi连上不网
2022-10-31
906
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】开发
套件
初探
2022-11-04
680
全部
0
条评论
快来发表一下你的评论吧 !
发送
登录/注册
×
20
完善资料,
赚取积分