想用这种方式进行通信,服务端和客户端定义同样的结构体,定义方式该怎么定,传输的时候,需不需要考虑struct对其的情况。
服务端结构体struct TCP_PACKAGE{ enum{flag}, int position[27][6],int score,float time,int step }类似这种的结构,在C#中怎么表示,同时传输的时候要考虑啥问题?
------解决思路----------------------
不过在C#中把结构体转为与C++的完全相同的byte[],难度就比较大了
现在这种情况,最好是转为XML传输,兼容性和扩展性都比较好。
------解决思路----------------------
通常通讯都是自定义序列化方式,比如protobuf
直接传结构体要考虑硬件、编译器等等区别,问题太多
------解决思路----------------------
写一个二进制数据流的格式文档,没有用c结构体为目标的,顶多会在“代码示例”中出现一下。
你可以看这个范例文档 http://wenku.baidu.com/view/690046eae009581b6bd9eb4d.html 第7章“消息定义”,它是二进制方式的。
按照这个格式来编程,可以采用各种解析形式(例如使用 BinaryReader 类读取二进制数据),设计上跟“结构体”无系。