请问关于Socket的TCP方式的复杂对象传输的问题。

zhoumingxuan 2004-06-09 09:59:55
关于Socket的TCP方式的复杂对象传输的问题。


我连接了对方的服务器之后,如何把数据按结构的方式转换成byte[]发过去?
在这个结构中,有int型也有string型的。

这个结构的数据如下:
struct head
{
int lenth;
string user;
string pwd;
}
struct body
{
head h; //这是head的结构
int a;
string b;
int c;
}

如何将body结构体按byte[]发过去?
...全文
307 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wks9527 2004-06-10
  • 打赏
  • 举报
回复
这样可不行,用TCP/IP就必须协定好协议,即传过去的对方要能够按一定的规则进行解析才行的,串行也解决不了这个问题。可以约定第几位到第几位是XXX项,或者其它的方式,不可能整个结构对象传过去的。
wolf_z 2004-06-10
  • 打赏
  • 举报
回复
自己定义封包,包头注明包的内容,是简单数据还是复杂数据,以及复杂类型的具体定义,接受方按定义反序列化包。
zhoumingxuan 2004-06-10
  • 打赏
  • 举报
回复
我上面的这个C#的结构,传成Byte[]之后传递给C写的服务器端,它们的数据类型不同,如何让C能认识这些数据?
andyou2000 2004-06-10
  • 打赏
  • 举报
回复
好像序列化后再传输。
两边对于“ 复杂对象”的定义都不一样,那你还是想办法统一你的定义
zhoumingxuan 2004-06-10
  • 打赏
  • 举报
回复
对方的服务器是C写的,.Net的数据类型跟C不一样呀.
siugwan 2004-06-10
  • 打赏
  • 举报
回复
串行化后再传输
sqldmoexec 2004-06-10
  • 打赏
  • 举报
回复
不会吧?串行化呀。。。

zhoumingxuan 2004-06-09
  • 打赏
  • 举报
回复
怎么没有理呀?
baifeng 2004-06-09
  • 打赏
  • 举报
回复
帮你顶

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧