30天自制操作系统吧 关注:1,381贴子:4,721

回复:在铁娃娃OS上试做网络通讯实验

取消只看楼主收藏回复

添加一个类似FTP的功能。
用GET命令,下载铁娃娃系统里面的文件。
命令格式: GET /文件名.后缀名 HTTP1.1。由三个部分组成:命令,文件名,版本(HTTP1.1)。
因为以太网的数据传输有个规定,一个Frame的长度限制在64~1514字节。
传输一张像样的图片,一个Frame是不够的。|这就要分批次传输,接收侧要把这些再连接起来。
开始,我用一个简易单色图片,容量不超过0x400做试验。再考虑分批次传输。
下图,是用简易FTP下载图片软件的截图:

下载软件是用VB写的,是不需要密码登录的FTP功能软件。用于调试。右侧是下载的图片文件
的二进制数据,左侧是还原图片的模样,可直观观察下载是否成功。
然后,试验传一张30KB的图片(见上图)。
传输其他形式的文件,原理是相同的,都是按二进制文件格式做就行了。


IP属地:上海39楼2023-01-23 16:08
回复
    添加FTP的dir功能:
    可以查看铁娃娃OS内的文件,然后下载。
    客户端的命令是GET \dir ,版本信息省略。铁娃娃OS则把fat的表内的文件信息传出。
    客户端就知道有哪些文件可供下载。实现方法与console.c里面的dir相似。

    第一步: 按[dir]按钮,发GET \dir命令,服务器端把文件目录信息传出,右侧文本栏里显示。
    第二步:选择其中的图片文件名,下载。左侧图像Box里显示。
    铁娃娃的网络实验,大的框架已经建立,到此可告一段落了。
    下一步,想在铁娃娃OS实现USB的通讯功能。
    以前,曾经用单片机与USB芯片(USB9604)做过实验,完成及其简单的数据通讯。
    大部分概念都已经忘光了,要重新拾起看看以前的程序,估计没有多大参考价值。
    现在电脑里USB也不用USB9604芯片。最多是唤起记忆吧。


    IP属地:上海40楼2023-01-25 00:35
    回复