嵌入式系统中使用C写的客户端与.Net 软件的数据交换

笔者在改进某嵌入式收费系统时,从C的指针开始着手,总结到一些关于嵌入式客户端和基于.net 的服务端交换数据的方法!或许对大家有一定用处,因此奉献上来。

在公司自己修改的Linux 嵌入式系统里写软件目前我们用C来交叉编译出 核心板上运行的程序,涉及到和服务器的数据交换,   一般而言客户端使用结构,然后将该结构内存中的内容发送到服务端,假如是C++,一切好办,因为它和c大差不差,c能办到他也能办到,但是.Net 却很繁重。难道用c++写一个中间程序?麻烦!!!写一个字符串拆分或者二进制的拆分?。。。

究竟如何使用.Net简易而且又方便的序列化和反序列化数据,使得客户端和服务器端沟通比较简单呢?请看下面:

首先,我们需要一个 序列化和反序列化程序,以及 一个结构。

结构如下:

 

Code

 

注意,您定义的结构必须按照上面的方式去定义。 以便序列化和反序列化。

下面说明如何序列化和反序列化:

 

 

Code

 

 

到这里你为疑惑,那如何访问 二进制的结构呢。 时间类型 int类型 字符串 类型  和 这个二进制结构中的元素如何转换呢?

 

Code

 

 

即便如此, 每次总是需要调用个ToString 和 Pase之类的函数, 还是不爽,那么请看下面的方法:

 

Code

实现您的c中的结构必须和c#的结构相同。且大小相同。

至于如何在c中将结构转换为字符串 和 字符串转换为结构 我想不必多言了吧!对这篇文章感兴趣的,肯定也是有类似应用的,因此对c也肯定有了解。

 

posted on 2009-06-19 18:46  KeelKit  阅读(1613)  评论(8编辑  收藏  举报

导航