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

|