vb.net如何发送结构体数据

时间:2021-07-19 13:40:10
Public Structure Test
        Dim a As String
        Dim b As Double
        Dim c As Integer
End Structure

        Dim x As Test
        x.a = "hello"
        x.b = 123.45
        x.c = 100

如上结构体数据,想用vb.net 的tcp socket 发送到对端,
现在这个x如何转换成byte()啊。。。

还有接收方如何解析呢?

7 个解决方案

#1


以12、13年前的标准,应该使用xml序列化。以7、8年前的标准,应该使用json序列化。最近2、3年有些人也流行一些比json更紧凑的序列化方法。

总之,对信息的序列化,当实体的不同版本随时增加、减少字段,改编字段值的长度,调整字段次序时,都没有兼容性问题。

你是学c语言的吧?怎么纠结其byte[ ]序列化来了?只有那些自认为“效率为唯一目标”的人才喜欢c语言的那种低级方式。

#2


如果你设计一个应用框架,使用 json 为基础,是比较正统和可持续性的设计方法。

#3


……不管你用什么序列化方式到了socket层不都是byte[]么?网络协议都是和语言无关的,C语言也没有序列化功能,不知道你在扯什么东西。

具体怎么序列化看你的技术储备和需求了。我这里没什么延时用XML都可以。这么简单的数据你确定需要socket这么低层的东西?http也增加不了多少资源占用啊?

#4


Mashal.StructureToPtr

#5


自己做的话,肯定不会用这个方法了啊,,老软件,没有人来帮升级了,也没有代码,逆向分析的时候
不知道具体的数据结构,需要自己构造一部分,对端需要这样的数据。。。

结果发现自己不懂,汗。

#6


我是学.net的啊,对C了解皮毛的皮毛,哎。

#7


该回复于2016-01-31 23:17:35被版主删除

#1


以12、13年前的标准,应该使用xml序列化。以7、8年前的标准,应该使用json序列化。最近2、3年有些人也流行一些比json更紧凑的序列化方法。

总之,对信息的序列化,当实体的不同版本随时增加、减少字段,改编字段值的长度,调整字段次序时,都没有兼容性问题。

你是学c语言的吧?怎么纠结其byte[ ]序列化来了?只有那些自认为“效率为唯一目标”的人才喜欢c语言的那种低级方式。

#2


如果你设计一个应用框架,使用 json 为基础,是比较正统和可持续性的设计方法。

#3


……不管你用什么序列化方式到了socket层不都是byte[]么?网络协议都是和语言无关的,C语言也没有序列化功能,不知道你在扯什么东西。

具体怎么序列化看你的技术储备和需求了。我这里没什么延时用XML都可以。这么简单的数据你确定需要socket这么低层的东西?http也增加不了多少资源占用啊?

#4


Mashal.StructureToPtr

#5


自己做的话,肯定不会用这个方法了啊,,老软件,没有人来帮升级了,也没有代码,逆向分析的时候
不知道具体的数据结构,需要自己构造一部分,对端需要这样的数据。。。

结果发现自己不懂,汗。

#6


我是学.net的啊,对C了解皮毛的皮毛,哎。

#7


该回复于2016-01-31 23:17:35被版主删除