HTML5技术

信息采集系统中,一场关于异构平台通信的风波 - 熬夜与烟(2)

字号+ 作者:H5之家 来源:博客园 2016-07-15 11:00 我要评论( )

// 摘要: IStreamContractHelper{ // 摘要: MessageHeaderLength { get ; } // 摘要: // 从消息头中解析出消息体的长度(注意,不是整个消息的长度,而是不包含消息头的Body的长度)。 // // 参数: // head: ParseM

// 摘要: IStreamContractHelper { // 摘要: MessageHeaderLength { get; } // 摘要: // 从消息头中解析出消息体的长度(注意,不是整个消息的长度,而是不包含消息头的Body的长度)。 // // 参数: // head: ParseMessageBodyLength(byte[] head); }

    这个接口是需自己来实现的。接口只要求了两件事:1.消息头长度是多少?2.如何从消息头中取出消息体长度,从而间接取出消息体。至于具体的协议如何设计,这个并没有一定之规。

2.字节序问题

      字节序的问题就更简单了。已经说过,通信负责把数据原封不动的从端到端进行传递,现在数据交给我了,我发现字节序不一致。不一致怎么办?转换呗! 

void tcpPassiveEngine_MessageReceived(IPEndPoint serverIPE, byte[] bMsg) { ······ }

       这个字节数组就是收到的数据,该怎么转换在方法体里面做就是了。而且这些转换都早已被封装成API,因此并没有什么难度,本文就不赘述了 。

———————————————附项目源码下载地址——————————————————— 

五.言归正传

      为川者决之使导 ,为民者宣之使言。从那以后,那些机器之间的交流日益加深,有些还建立了深厚的友谊。我时常训导他们,你们虽然是机器,但是也要有人味,要放下那些所谓的成见,求同存异。大家的思维方式、文化背景、受教育程度也许都不尽相同,但是只要大家以一颗开放的心去彼此了解,彼此沟通,交换立场,推己及人,就能开展合作,就能超拔出个人的小生命,而进入到一个更大的生命中。要完成一个数据采集系统,你们其中的任何一个都不能单独胜任,只有靠大家群策群力。而要做到群策群力,就要兼收并蓄,不能各执一端。比如你是小端方式存储,就非要排斥搞大端方式的,视他们为异端,恨不得消灭殆尽,这是最危险的!一定要相互理解相互包容,要尝试去了解对方,学习对方的话语。还有些高级些的系统瞧不起单片机,觉得跟他们没有共同语言,这也是不对的。尺有所长寸有所短,要优势互补才对。管子讲:“和合故能习,习故能偕,偕习以悉,莫之能伤也”,只有和合偕习,才能真正强大!

      后来陆续有机器私信给我,说学到了很多做人的道理。为此我倍感欣慰。 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    ABP入门系列(16)——通过webapi与系统进行交互 - 『圣杰』

    2017-04-25 09:04

  • Omi全新版本来袭 - 指令系统 - 【当耐特】

    Omi全新版本来袭 - 指令系统 - 【当耐特】

    2017-04-20 14:04

  • 调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注 - QISHUANG

    调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加

    2017-04-18 10:02

  • 使用phonegap获取设备的一些信息 - ganchuanpu

    使用phonegap获取设备的一些信息 - ganchuanpu

    2017-03-30 13:00

网友点评