一种基于数据包的计算机与打印机双向并行通信方法
【专利摘要】本发明公开了一种基于数据包的计算机与打印机双向并行通信方法,该基于数据包的计算机与打印机双向并行通信方法采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路。本发明采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路;通过利用数据包的传输手段,建立正向的和反向的通信通路,因为利用了全字节的并口通信所以加快了传输速度,而且实现了双向的并口通信协议。本发明提高了数据传输的安全性,合理的、有效的解决了传统单向的数据传输的缺陷。
【专利说明】一种基于数据包的计算机与打印机双向并行通信方法
【技术领域】
[0001]本发明属于计算机应用【技术领域】,尤其涉及一种基于数据包的计算机与打印机双向并行通信方法。
【背景技术】
[0002]目前,已有的计算机与打印机之间的通信协议有串口通信协议,并口通信协议。
[0003]但是相对于并口通信协议,串口通信协议有其固有的缺点,与并口通信相比较,串口通信的速度要远小于并口通信,不适用于那些实时性要求较高的系统,并口通信因为它在每次传输的过程中一次性能够传送一个字节的数据,所以并口的传输速度要远高于串口通信的传输速度。
[0004]目前现有的计算机与打印机之间的并口通信协议也存在缺陷,对于现有的大部分并口通信协议都是单向传输的,即,只能是从主计算机到打印机之间传输数据,不能从打印机向主计算机传输数据。
[0005]专利号:CN1044414C,专利号:CN1070497A两份专利中公开了一种提供给主计算机与打印机之间的双向的通信协议,但是其中所提出的并口双向通信协议也存在缺陷:
[0006]1、这两篇专利中所提出的并口双向通信协议的方案中所涉及的反向通道的建立方式比较复杂;
[0007]2、在传输过程中所采用的传输方式是半字节传输方式,所以其传输速度相对与全字节传输方式来说要下降50% ;
[0008]3、以上专利所提出的这种并口的双向通信协议不具备很好的兼容性,对于现有的大部分只支持单向并口通信协议的打印机来说,很难采用以上专利所涉及的双向通信协议来工作;
[0009]4、以上的双向的并口通信协议没有提供完整的指令集和时序控制模型,不能够很好的扩展通信协议的使用范围;
[0010]5、在数据传输的过程中没有很好的数据校验算法,不能够保证数据在传输的过程中的稳定性和准确性。
【发明内容】
[0011]本发明实施例的目的在于提供一种基于数据包的计算机与打印机双向并行通信方法,旨在解决现有的主计算机与打印机之间通信灵活性低和传输速度低,没有有效的利用主计算机外围资源的问题。
[0012]本发明实施例是这样实现的,一种基于数据包的计算机与打印机双向并行通信方法,该基于数据包的计算机与打印机双向并行通信方法采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路;
[0013]具体包括以下步骤:
[0014]步骤一,主计算机先向打印机发送建立连接的数据包,数据包字节内容为:55H,ΑΑΗ,ΟΙΗ, ΟΟΗ, ΟΟΗ, XXH ;其中第一个字节55Η与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节,OlH代表试探命令,即判断打印机是否支持双向打印协议;
[0015]步骤二,发送完成第一条数据包后,主计算机进入等待状态,等待打印机回复的数据包,如果打印机回复数据包为:55H,AAH, 02Η, ΟΟΗ, ΟΟΗ, ΧΧΗ,打印机支持双向并口通信协议,主计算机进入下一步操作,开始传送正式的数据内容,如果在等待一段时间之后如果打印机没有回复数据,则打印机可能不支持双向通信协议;
[0016]步骤三,主计算机开始切换双向通信协议为传统的单向通信协议,来控制仅支持单向并口通信协议的打印机系统;
[0017]步骤四,主计算机与打印机之间建立完整的双向连接之后,主计算机开始发正式的送数据包向打印机传送数据,数据包字节内容为:55H,AAH,01Η,00Η,00Η, XXH ;其中第一个字节55Η与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节。
[0018]进一步,正向通路数据包的形式包括:包头;数据;校验码三部分组成,包头包括:起始字节占用2个字节、命令字节占用I个字节、数据包长度字节,占用2个字节。
[0019]进一步,反向通路数据包的形式包括:包头;数据;校验码三部分组成,包头包括:起始字节占用2个字节、状态/命令字节占用I个字节、数据包长度字节,占用2个字节。
[0020]进一步,正向通路与反向通路使用相同的数据包格式,每次通信均先由主计算机向打印机发送命令字节,主计算机在向打印机发送完命令字节之后,等待打印机的回复,主计算机接收打印机的回复数据包,根据打印机回复的数据包中的打印机的状态字节来判断下一步的操作。
[0021]进一步,正向通路的数据包格式如下:55Η,ΑΑΗ,命令字节,数据包长度高字节,数据包长度低字节,数据字节,...,数据字节,校验字节。
[0022]进一步,反向通路的数据包格式如下:55Η,ΑΑΗ,状态/请求命令字节,数据包长度高字节,数据包长度低字节,数据字节,...,数据字节,校验字节。
[0023]进一步,正向通路的命令字节和反向通路的状态/请求命令字节另外扩展。
[0024]本发明提供的基于数据包的计算机与打印机双向并行通信方法,采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路;通过利用数据包的传输手段,建立正向的和反向的通信通路,因为利用了全字节的并口通信所以加快了传输速度,而且实现了双向的并口通信协议。本发明提高了数据传输的安全性,合理的、有效的解决了传统单向的数据传输的缺陷。
【专利附图】
【附图说明】
[0025]图1是本发明实施例提供的基于数据包的计算机与打印机双向并行通信方法的流程图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]下面结合附图及具体实施例对本发明的应用原理作进一步描述。[0028]如图1所示,本发明实施例的基于数据包的计算机与打印机双向并行通信方法包括以下步骤:
[0029]SlOl:主计算机先向打印机发送建立连接的数据包,数据包字节内容为:55H,ΑΑΗ,ΟΙΗ,ΟΟΗ,ΟΟΗ, XXH ;其中第一个字节55Η与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节,OlH代表试探命令,即判断打印机是否支持双向打印协议;
[0030]S102:发送完成第一条数据包后,主计算机进入等待状态,等待打印机回复的数据包,如果打印机回复数据包为:55Η,ΑΑΗ, 02Η, ΟΟΗ, ΟΟΗ, ΧΧΗ,打印机支持双向并口通信协议,主计算机进入下一步操作,开始传送正式的数据内容,如果在等待一段时间之后如果打印机没有回复数据,则打印机可能不支持双向通信协议;
[0031]S103:主计算机开始切换双向通信协议为传统的单向通信协议,来控制仅支持单向并口通信协议的打印机系统;
[0032]S104:主计算机与打印机之间建立完整的双向连接之后,主计算机开始发正式的送数据包向打印机传送数据,数据包字节内容为:55Η,ΑΑΗ,01Η,00Η,00Η, XXH ;其中第一个字节55Η与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节。
[0033]本发明的工作原理:
[0034]本发明采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路;正向通路数据包的形式包括:包头;数据;校验码三部分组成,数据包的包头包括:1、起始字节占用2个字节;2、命令字节占用I个字节;3、数据包长度字节,占用2个字节;
[0035]本发明所采用的反向通路数据包的形式包括:包头;数据;校验码三部分组成,数据包的包头包括:1、起始字节占用2个字节;2、状态/命令字节占用I个字节;3、数据包长度字节,占用2个字节,其中正向通路与反向通路均使用相同的数据包格式,每次通信均先由主计算机向打印机发送命令字节,主计算机在向打印机发送完命令字节之后,等待打印机的回复,主计算机接收打印机的回复数据包,根据打印机回复的数据包中的打印机的状态字节来判断下一步的操作;
[0036]本发明中的主计算机与打印机建立通信的过程具体如下:
[0037]第一步,主计算机先向打印机发送建立连接的数据包,数据包字节内容为:55Η,ΑΑΗ,ΟΙΗ,ΟΟΗ,ΟΟΗ, XXH ;其中第一个字节55Η与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节,OlH代表试探命令,即判断打印机是否支持双向打印协议,发送完成第一条数据包后,主计算机进入等待状态,等待打印机回复的数据包,如果打印机回复数据包为:55Η,ΑΑΗ, 02Η, 00Η, 00Η, ΧΧΗ,打印机支持双向并口通信协议,主计算机进入下一步操作,开始传送正式的数据内容,如果在等待一段时间之后如果打印机没有回复数据,则打印机可能不支持双向通信协议,主计算机开始切换双向通信协议为传统的单向通信协议,来控制那些仅支持单向并口通信协议的打印机系统;
[0038]第二步,主计算机与打印机之间建立完整的双向连接之后,主计算机开始发正式的送数据包向打印机传送数据,建立数据包的格式一第一条类似。
[0039]本发明中的正向通路的数据包格式如下:55Η,ΑΑΗ,命令字节,数据包长度高字节,数据包长度低字节,数据字节,...,数据字节,校验字节;
[0040]本发明中的反向通路的数据包格式如下:55Η,ΑΑΗ,状态/请求命令字节,数据包长度高字节,数据包长度低字节,数据字节,...,数据字节,校验字节;[0041]其中正向通路的命令字节,与反向通路的状态/请求命令字节可以另外扩展,增强本协议的可扩展性,增强兼容性;
[0042]数据包的数据部分主要是主计算机与打印之间所传输的数据;
[0043]数据包的校验码部分主要是提供给校验使用,因为有了数据校验,提高了传输的安全性。
[0044]本发明所采用的校验反方式为一种并行数据循环冗余校验算法,校验方法是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值,接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,说明数据是完整的,其中循环冗余校验算法这是利用除法及余数的原理来进行错误检测的.将接收到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错。
[0045]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于数据包的计算机与打印机双向并行通信方法,其特征在于,该基于数据包的计算机与打印机双向并行通信方法采用数据包的形式进行数据传输,在传输的过程中包括正向通路与反向通路; 具体包括以下步骤: 步骤一,主计算机先向打印机发送建立连接的数据包,数据包字节内容为:55H,AAH,OlH, 00H, 00H, XXH ;其中第一个字节55H与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节,OlH代表试探命令,即判断打印机是否支持双向打印协议; 步骤二,发送完成第一条数据包后,主计算机进入等待状态,等待打印机回复的数据包,如果打印机回复数据包为:55H,AAH, 02H, 00H, 00H, XXH,打印机支持双向并口通信协议,主计算机进入下一步操作,开始传送正式的数据内容,如果在等待一段时间之后如果打印机没有回复数据,则打印机可能不支持双向通信协议; 步骤三,主计算机开始切换双向通信协议为传统的单向通信协议,来控制仅支持单向并口通信协议的打印机系统; 步骤四,主计算机与打印机之间建立完整的双向连接之后,主计算机开始发正式的送数据包向打印机传送数据,数据包字节内容为:55H,AAH,01H,00H,00H, XXH ;其中第一个字节55H与第二个字节AAH为数据包起始字节,第三个字节OlH为数据包的命令字节。
2.如权利要求1所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,正向通路数据包的形式包括:包头;数据;校验码三部分组成,包头包括:起始字节占用2个字节、命令字节占用I个字节、数据包长度字节,占用2个字节。
3.如权利要求1所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,反向通路数据包的形式包括:包头;数据;校验码三部分组成,包头包括:起始字节占用2个字节、状态/命令字节占用I个字节、数据包长度字节,占用2个字节。
4.如权利要求1所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,正向通路与反向通路使用相同的数据包格式,每次通信均先由主计算机向打印机发送命令字节,主计算机在向打印机发送完命令字节之后,等待打印机的回复,主计算机接收打印机的回复数据包,根据打印机回复的数据包中的打印机的状态字节来判断下一步的操作。
5.如权利要求1所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,正向通路的数据包格式如下:55H,AAH,命令字节,数据包长度高字节,数据包长度低字节,数据字节,...,数据字节,校验字节。
6.如权利要求1所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,反向通路的数据包格式如下:55H,AAH,状态/请求命令字节,数据包长度高字节,数据包长度低字节,数据字节,数据字节,校验字节。
7.如权利要求5或6所述的基于数据包的计算机与打印机双向并行通信方法,其特征在于,正向通路的命令字节和反向通路的状态/请求命令字节另外扩展。
【文档编号】G06F13/38GK103942015SQ201410172232
【公开日】2014年7月23日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】刘艳秋, 胡婷, 王国春, 李阳, 闻喆, 王旭, 宋涛, 曹晓燕, 丁建生 申请人:长春工业大学