谁愿为我看看我的串口传送文件源码中的错误?谢谢!!
捕鲸叉 2002-05-01 12:14:05 写了个串口传送文件的程序,经测试却发现严重问题。
1。程序分为接收方程序和发送方程序。
2。发送方任意选定一个目录,则该目录下所有文件都将作为传送对象。
3。接收方指定一个目录,对方传送来的文件都将存储在该目录中
4。两个程序都分别有两个工作者线程,一个线程不停地读串口,并
将读来的程序放入一个缓冲区(先进先出对列);另一个线程
则分析从串口读来的数据(用临界区串行化对缓冲区的访问)
并根据分析结果向对方发送数据,采用的异步传输的方式。
工作过程如下:
A。接收方用定时器向对方发送命令符号 ‘O’
B。发送方接到命令后发送文件总数目给对方,字串用‘*’号作
结束符,形如 “865*”
C。接收方接到数目后,发送命令符 ‘I’
D。发送方将当前要传送的文件信息发送给对方,包括两个信息,
一个是该文件的相对路径与文件名,另一个是它的长度。发送
出的信息形如 “SubDirx\SubDir23\MM.jpg?2342*"
E。接收方创建文件,并根据其长度划分为以1000个字节为一组,剩下
的不足1000字节为最后一组;在接收每一组之前发送命令符‘N’
,而发送方在接到命令符‘N’后即发送一组数据,直至完成本文件
的传送。
F。回到步骤C,接发下一个文件。
现在发现的问题是:
1。没有完整发送成功过一次
2。发送程序似乎在不停吞噬内存,最后导致内存不足
3。接收方有时会抛出断言错误。
由于本人计算机功力浅(我是学机械出身的),现在沮丧极了,谁来帮帮我?
哪位好心的大虾愿意看看我的源码请留下EMAIL地址,我发源程序过来。谢谢。