ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:1.09MB ,
资源ID:4130585      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4130585.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RTThread网络编程学习笔记.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

RTThread网络编程学习笔记.docx

1、RTThread网络编程学习笔记RT-Thread网络编程学习笔记一、在QEMU上运行RT-Thread下载 RT-Thread 源码,下载链接下载 RT-Thread 源码,下载链接 按照官方指导文档一步步操作就可以在模拟器QEMU上讲RT-Thread跑起来,并在虚拟的SD卡加载FATFS,文件系统正常体验:二、安装和配置 TAP 网卡 按照官方文档指导安装tap-windows并且配置TAP:三、在QEMU 上运行 RT-Thread 网络功能重新编译运行QEMU:四、Socket 背景知识BSD Socket 相关 APIsocket创建一个 socket 套接字bind绑定套接字li

2、sten开始监听accept接受连接请求connect建立连接send面向连接的发送数据(tcp)recv面向连接的接收数据(tcp)sendto无连接的发送数据(udp)recvfrom无连接的接收数据(udp)closesocket关闭 socketshutdown关闭 socket 某一个通道gethostbyname通过域名获取主机的 IP 地址等信息getsockname获取本地主机的信息getpeername获取连接的远程主机的信息ioctlsocket设置套接字控制模式五、利用 wireshark 工具抓包六、ICMP (PING)包过程 ICMP是 “Internet Cont

3、rol Message Protocol”(网络控制报文协议)的缩写,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指:网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个 “Ping”的过程实际上就是 ICMP 协议工作的过程。 ICMP层区分不是很明显,一般划分在 IP层中通过IP包来封装ICMP数据,在实际传输中数据包的格式一般都是IP包+ICMP包的格式

4、,具体格式如下:IP首部(20字节) + 8位类型+ 8位代码+ 16位校验和+ ICMP首部其他部分( 7个字节) +数据。 ping原理:七、开发 TCP 客户端程序和上位机服务器通信 通过menuconfig使能tcp client sample,系统会自动将tcpclient测试程序编译进工程,通过msh可以调用这个接口,创建一个client socket,并尝试连接输入的IP 端口: 通过TCP调试工具建立一个tcp服务端,IP和端口与上述对应,即可监听到我们上面创建的这个client连接,并且可以正常地收发数据: 如上面截图,服务端可以接收到client发送的数据,跟测试程序设计相

5、同:八、开发 UDP 客户端程序和上位机服务器通信示例代码的功能是向输入的 IP 地址发送 10 条消息,发送完毕即退出:九、TCP 三次握手与四次分手 TCP 把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。 IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程,而端到端的通信才是应用进程之间的通信。 TCP 报文的格式如下图所示: TCP 的三次握手,意思就是建立连接的时候客户端

6、与服务器之间需要三次数据包的交流。客户端发送给服务器一个请求连接数据包,即发送了一个指向服务器目标端口的一个 SYN 位为 1 的TCP 报文。服务器接收到客户端的连接请求之后,会回应一个 SYN 位为 1 的TCP 报文,表示同意连接。并且,会把 ACK 位也置 1 表示确认收到上次消息。客户端接收到服务器的同意连接的数据包之后,还要回复一个 ACK 为 1 的 TCP 报文,表示确认收到。 TCP 的四次挥手,意思就是释放连接的时候客户端与服务器之间需要四次数据包的交流。客户端发送给服务器一个请求释放连接的数据包,即发送了一个指向服务器目标端口的一个 FIN 位为 1 的TCP 报文,表示

7、客户端没有数据要发送了,但是仍然可以接收数据;并且 ACK 位也为 1,表示对上次传输数据结果的确认。并且之后处去等待状态,等待服务器的两次回应。服务器接收到客户端的释放连接请求之后,会先回应一个 ACK 位为 1 的报文,表示确认收到。但是,这时服务器可能还有数据没有发送完成,继续发送数据。服务器发送完数据之后,发送一个 FIN 为 1 的 TCP 报文,表示我也没有要发送的数据了,你可以释放连接了。当然 ACK 位仍然为 1 。客户端接收到服务器的同意释放连接的数据包之后,回复一个 ACK 为 1 的 TCP 报文,表示确认收到。十、UDP包分析 UDP协议的主要作用是将数据压缩成数据包的

8、形式,一个典型的数据包就是一个二进制数据的传输单位,每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 UDP 报文的具体格式如下: 源端口( 2 字节) + 目的端口( 2 字节) + 长度( 2 字节) + 检验和( 2 字节) + 数据 UDP协议的通信较TCP简单了很多,减少了TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议。 UDP客户端在发送数据时并不判断主机是否可达,服务器是否开启等问题,同样它不能确定数据是否成功送达服务器。它只是将数据简单的封了一个包,之后就丢出去了。十一、利用 ntp 协议获取网络时间 NTP网络时间协议

9、(Network Time Protocol),是用来同步网络中各个计算机时间的协议。十二、通过 telnet 协议连接和控制设备 Telnet协议是一种应用层协议,使用于互联网及局域网中,使用虚拟终端机的形式,提供双向、以文字字符串为主的交互功能。属于TCP/IP协议族的其中之一,是Internet远程登录服务的标准协议和主要方式,常用于网页服务器的远程控制,可供用户在本地主机运行远程主机上的工作。 RT-Thread目前支持的是Telnet服务器, Telnet客户端连接成功后,将会远程连接到设备的Finsh/MSH,实现设备的远程控制。十三、通过 TFTP 协议连接和控制设备 TFTP(Trivial File Transfer Protocol, 简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69,比传统的 FTP 协议要轻量级很多,适用于小型的嵌入式产品上。打开 TFTP 客户端,按照下图所示方法配置:其中Host ip为通过模拟器读取到的系统IP:选择local file发送到模拟器文件系统:从模拟器文件系统下载文件到本地: 我将上传的1下载到本地命名为2,用比较工具比较两个文件完全一样:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1