跨平台使用结构体;

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

实践证明,在VC当中定义的结构体,无论形式如何,都可以正常的发送到Java的应用当中,反过来也是一样;

我这个例子我没有做过,但XX牛X 公司的技术员亲口告诉我那不是问题,并且很Easy.

只要注意一些技巧就行了,比如:如果结构体当中包含string(不定长度的字符串),一定要转换成定长的char[],等.他没有多说,他很忙.

于是我很郁闷,因为我现在的细化工作之一就是要在C#当中,与在VC的网络应用程序通过TCP及UDP协议交互结构体数据;

我首先制作一个完全在C#当中进行TCP协议下收发结构体的例子,原先准备用序列化机制来实现,但是在VC来看,支持序列化是一件很麻烦的事情.所以我决定使用“把结构体转换为byte[]数组,然后通过网络发送,网络的另一端会根据收到的byte[]重新装配出原模原样的结构体来."这种处理方式;

从思路上来看,对于结构体中的字符串类型,首先要把它的封装属性定义为ByValStr

,对它的取值要通过string ss=char[32].toString()这种方式来进行赋值.对于int整型类型来说,不需要进行转换;

但是在处理int[]类型时,还没有找到可以进行正常收发的方式.

总结:

(1)通过网络连接发送结构体数据包是一个很好的方式;

(2)在收发结构体数据包时有很多细节问题还需要更多的讨论与学习

(3)跨平台跨系统发送结构体数据包目前我还没有找到好的方式,期待我以后能找到有效的方式并告诉大家.

注:

有关本文的例子程序和相关讨论请见:

http://community.csdn.net/Expert/topic/3466/3466293.xml?temp=.6511652

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航