跨平台使用结构体;

类别:.NET开发 点击:0 评论:0 推荐:

实践证明,在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



本文地址:http://com.8s8s.com/it/it43464.htm