SOH - 数据的开始头(01H)。任何数据块都由此开始。
ACK - 收到的指令(06H)。当接收服务器正确接收到每一模块的数据后,将发出此指令。
NAK - 否定的指令(15H)。当接收服务器错误接收到每一模块的数据后,或当数据信号进行CHECKSUM运算时,将发出此指令。
EOT - 传输结束(04H)。通知接收服务器最后的数据块已传输完成,整个传输过程已结束。
XMODEM协议中的数据块格式
<SOH><ID block><NOT ID block><128 bytes data><8bit checksum>
SENDER(发送器)和RECEIVER(接收器)的通讯结构
SENDER RECEIVER
<NAK>
<SOH>01FE<128bytesblock><checksum>
<ACK>
<SOH>02 FD<128 bytes block><checksum>
如果在传输过程中发生一个错误:
<NAK>
<SOH>02 FD<128 bytes block><checksum>
<ACK>
<SOH>03 FC<128 bytes block><checksum>
如果SENDER不能识别ACK:
<SOH>03FC<128bytesblock><checksum> <ACK><EOT> <ACK>
请问各位如何用VB实现以上协议的接收
能否详细说明,谢谢!!!!!
ACK - 收到的指令(06H)。当接收服务器正确接收到每一模块的数据后,将发出此指令。
NAK - 否定的指令(15H)。当接收服务器错误接收到每一模块的数据后,或当数据信号进行CHECKSUM运算时,将发出此指令。
EOT - 传输结束(04H)。通知接收服务器最后的数据块已传输完成,整个传输过程已结束。
XMODEM协议中的数据块格式
<SOH><ID block><NOT ID block><128 bytes data><8bit checksum>
SENDER(发送器)和RECEIVER(接收器)的通讯结构
SENDER RECEIVER
<NAK>
<SOH>01FE<128bytesblock><checksum>
<ACK>
<SOH>02 FD<128 bytes block><checksum>
如果在传输过程中发生一个错误:
<NAK>
<SOH>02 FD<128 bytes block><checksum>
<ACK>
<SOH>03 FC<128 bytes block><checksum>
如果SENDER不能识别ACK:
<SOH>03FC<128bytesblock><checksum> <ACK><EOT> <ACK>
请问各位如何用VB实现以上协议的接收
能否详细说明,谢谢!!!!!
解决方案 »
- 数据库 这样写为什么总是出错?
- 怎样通过按钮读取程序列表中所选程序的句柄?
- VB PE导出/输入表演示(读文件版)
- 把debug的东西生成exe运行后说Microsoft Excel 无法找到“E:\test1\2007年2月13日.xls”,这大概是程序里getoutpath那段有问题吧?程序如
- 请大家提供一个打开文件对话框,并把文件内容读取到TextBox中的例子
- 如何取得cpu温度?最好是CPU风扇转速!高分相送!
- 谢谢,刚才有人告诉我怎么在VB Actviex组件中增加方法,请问怎么增加属性呢?谢谢。
- 利用微软的免费90天的开发环境试用版能开发出商用的小软件吗?
- @@@@@@@@@@@@@@大家好,回visual Basic论坛向大家问个好。@@@@@@@@@@@@@@@@@
- 如何获得DOS下的程序运行后的屏幕输出
- 4月份MVP
- 急!如何写一个控件,嵌入HTML中,在客户端运行,上传指定文件到WEB服务器?
www.moxa.com.cn
开始标记01H在第一数据块开头也是01H
结束标记02H在第二数据块开头也是02H把传输模式改为文本的话,因存在像FE FF FC 等字节接收时会被当成一个汉字。唉,烦透了
http://www.gjwtech.com/serialcomm.htm