菜鸟请教,如何根据协议编写程序?
狂急!!!请问怎么用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;} } /* ....其它的协议中规定的字段以此类推,很简单。关键是有些复杂。另外在实际的应用中需要根据情况做出很多调整、优化等。 */}