.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
跨平台使用结构体;

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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






相关文章

相关软件