读书人

初学者请问怎么根据协议编写程序

发布时间: 2012-02-13 17:20:26 作者: rapoo

菜鸟请教,如何根据协议编写程序?
狂急!!!请问怎么用vb.net实现通信协议编程,最好有例子提供!!谢谢!!!

[解决办法]
根据协议接收数据,并对数据进行解析就可以了。协议分固定长度和非固定长度,非固定长度的要边接收边解析。固定长度的可以一直性接收完毕后再解析。
感觉你的协议的长度是固定的,那直接接收126个字节后,对字节数组根据协议进行分析就可以了。
[解决办法]
1:你的程序收到的数据一定是某种原始数据流的格式的,有可能是Stream,也有可能是byte[]之类的。
2:写一类,比如为APacket

C# code
public class APacket{    private byte[] data;    public APacket(byte[] data)    {         this.data = data;    }        public byte SyncCode   //同步字,根据你的说明是1byte    {            get{return data[0];}            set {data[0] = value;}    }        public byte Length    //报文总长度.我假设这也是一个字节长度,如果是更长的比如:int,则需要根据协议的规定看是否需要交换高低位等。    {       get{return data[1];}       set{data[1] = value;}    }   /*   ....其它的协议中规定的字段以此类推,很简单。关键是有些复杂。另外在实际的应用中需要根据情况做出很多调整、优化等。   */} 

读书人网 >VB Dotnet

热点推荐