现在要用C# 做一个WebServices作一个接口供C++调用
WebServices已经定义好了(这里只说明了一种最简单的Web方法,至于安全性验证全都省略了):
void Process(byte[] Request, out byte[] Response)(这个参数不可能变的)
参数说明:接收参数byte[]型,输出结果参数byte[],我根据接收到的Request参数,返回结果数据Respone
Request/Response的包格式如下:
也就是说c++那边解包必须按照这种包的格式去做,因为C++那边和蓝牙通信的协议都已经定义好所以只能用这种格式解包
了,由于以前接触到这种数据包的传输知识很少,不知道该怎么去组包,在这里请问高手了:
比如:
接收到一个参数数据包 request: 请求代码(102)、包长度(5)、请求包数据("12")
通过逻辑处理返回数据包: response:回应代码(200)、包长度(30)、回应包数据("我是一个persion")
我现在要问的是:
1、怎么去把请求数据包解压成字符串,去得到我的想要的参数
2、怎么样把我的返回数据(回应代码、包长度、回应包数据)组成一个数据包发给C++那边
3、高手们给我解释下数据包到底是什么概念应该怎么转换成数据包
这两天大概问了下说用什么 C#里面的buffer[]数据传过去,但那玩间真没用过!!还有种说是用Arraylist.CopyTo()把数据
压入buffer[],可这些技术都不太明白
我就想如果我把各回应数据组成字符串再强制转换成byte[],后面考虑了下这样应该是不行的