主题:如何向ETR232i一次写入200多K的数据?

  共有26720人关注过本帖    
尘封
1楼


如何向ETR232i一次写入200多K的数据?  发帖心情 Post By:2005-5-16 13:59:00   [只看该作者]

我们用的贵公司的ETR232构建嵌入式终端, 在系统启动时根据配置不同,要从服务器上下载不同的执行程序。

以前是用FTP实现的, 但是FTP更新失败率太大, 如有100个终端同时启动的话,下载成功率只能达到20%左右。所以我想在程序中自己实现。可执行程序大约有200多K。

系统启动时,首先建立与服务器的连接, 然后向服务器发送一个自定义的数据帧, 里面有要下载的文件的文件名。服务器收到请求帧后, 首先返回要下载的文件的大小, 接着一次发送1024个字节, 一直到文件结束。 客户端收到响应帧后,取出文件大小开始接收,可是在实际过程中,当服务器端发送了38次左右后和客户端的连接就丢失了,而此时的客户端只接收到20次左右的数据, 也就是说只有20多K, 引起这种原因的因素有哪些呢?

我写的收发程序, 如果同时在计算机上运行时,可以正确的接收到从服务器返回的文件.

  单帖管理 | 引用 | 回复 回到顶部
尘封
2楼


  发帖心情 Post By:2005-5-16 14:40:00   [只看该作者]

服务器端有时能够捕获到异常, 提示
Connection reset by peer. Socket Error #10054

  单帖管理 | 引用 | 回复 回到顶部
zhl
3楼


  发帖心情 Post By:2005-5-16 15:06:00   [只看该作者]

ETR232i是否用了电子盘DOC?用FTP应该是最好的方案。在调用FTP_getput(...)函数时一定要判断函数的返回值,只有返回0,才表明文件传输成功。
请查收邮件,请将库文件更新。

  单帖管理 | 引用 | 回复 回到顶部
尘封
4楼


  发帖心情 Post By:2005-5-17 9:44:00   [只看该作者]

没有使用电子盘DOC.

我将库文件更新再试试.

  单帖管理 | 引用 | 回复 回到顶部
x10
5楼


  发帖心情 Post By:2005-5-17 15:55:00   [只看该作者]

作为FTP进行远程程序更新,需要确保下载的程序无误,才能进行重启动。ETR232i基本的326K空间恐怕难以装载多个应用程序,所以还是应当考虑使用DOC2000电子盘,此外DOC2000的写入速度比一般的FLASH快很多,也有利于避免TCP数据传送的超时问题。

  单帖管理 | 引用 | 回复 回到顶部
尘封
6楼


  发帖心情 Post By:2005-5-19 15:12:00   [只看该作者]

我想问下,如果空间不够的话,会出现什么情况?

  单帖管理 | 引用 | 回复 回到顶部
x10
7楼


  发帖心情 Post By:2005-5-19 16:40:00   [只看该作者]

如果空间不够,写文件肯定会fail。

  单帖管理 | 引用 | 回复 回到顶部
尘封
8楼


  发帖心情 Post By:2005-5-20 14:09:00   [只看该作者]

我用FTP的方式己经实现了这个功能, 谢谢你们.

  单帖管理 | 引用 | 回复 回到顶部

返回首页

如何向ETR232i一次写入200多K的数据?

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: