UDP通信传输 |
您所在的位置:网站首页 › udp传输最大传输多少字节 › UDP通信传输 |
网卡芯片(详细调试过程)》 基础上增加 了一些协议代码来实现具体 UDP 通信传输。 在这里我重新强调一下, 上篇文章是在介绍如何调硬 件,目的是为了让应用程序可以使用这个芯片。而具体的使用就是使用三个函数:初始化、 数据 包发送和数据包接收。 数据包接收是否基于中断还需要用户根据需要自行设置。 总之, 我们可以 通过上篇文章了解到,对硬件的调试可以得到这三个有用的函数。
不同网卡芯片的驱动可能略有不同。 这里不一一例举, 所以首先需要说明的是, 本文所讲的 内容主要是如何用 C 代码来实现协议, 并利用数据包发送、 接收函数来实现通讯, 基本是与硬件 无关的。 除中断外, 本文唯一与硬件相关的地方就是大端或小端格式, 这也在之前的文章中有提 到过, 在本文涉及到的地方会再次说明。 也就是说使用不同网卡芯片都可以应用本文所写的代码。 其次,本文所写出的协议部分是已经过简化的,代码较少, 不需要操作系统支持。但仅能实现数 据的收发,而且没有验证可靠性(需要时可自行验证)。 适合用在资源有限的单片机系统中, 或者需要用网络代替 RS232 通信的情况 ,当然也可以在操作系统中使用。可根据情况来选择或 增减。
顺便提一下资源要求: ram 最好大于 2KB ,实在不行也得要 1KB (需要一定技巧,传输的数 据内容很少,不需要全部读出数据包的情况); flash 或 rom4KB 以上,基本的单片机都能达到; 可用 IO 怎么也得有 12 个,控制个一般的芯片也需要这么多的。
在进行正文之前,我再啰嗦几句,本文是讲协议的实现。这里的协议部分可以从 《 TCP/IP 协议
第一卷
——
协议》 这本书中看到最详细最权威的讲解,如果有兴趣研究协议的话可以参 考这本书(网上可以找到电子版的)。下面进入主题。
1 、 UDP 通讯的实现过程简述
涉及到协议部分, 很多人会感觉摸不清头绪, 不知如何下手。 所以看一看上面说的那本书还 是很有帮助的。当然看了以下部分,你也会对协议有些了解的。
( 1 )初始化网卡芯片和其他外设(在网卡驱动部分已经做好了,这里重新说了一遍);
( 2 ) arp 通讯获得目标机地址信息;
( 3 ) udp 通讯收发数据(利用 IP 协议作媒介)。
看到这会不会有些失望呢,可实际上 udp 通讯就是这么简单的。
UDP 是 User Datagram Protocol 的简称,中文名是用户数据包协议,是 OSI 参考模型中一 种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务(这句话是在网上抄的)。
说的再简单点, udp 通讯与 RS232 一样,只管将数据发送出去而不管对方是否正确的接收到 了。 在一些简单应用中, 我们似乎也不大关心数据是否被对方正确的接收到了, 因为传输过程中 数据包损坏的情况也不多,肯定能被正确的接收到。或者我们有其他的办法去验证。这和 TCP 协议不一样, TCP 协议是可靠的链接,发送一次数据需要三次握手来反复确认数据被正确无误的 接收到了,否则会重新发送一遍,实现起来比较繁琐。有点跑题,不过看到这里应该可以明白 udp 协议是一种很简单的网络通讯协议。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |