读书人

老生长谈 求socket发送结构体 转换成b

发布时间: 2012-01-19 00:22:28 作者: rapoo

老生长谈 求socket发送结构体 转换成bytes和bytes转换成结构体的高效方法 可另外开贴加分
结构体
public structure sendmessage
public fmsg as interger
public fuser as interger
public suser as interger
public fusers as interger
public sfuser as string
public dfuser as string
public ffuser as string
end structure
我在网上找的方法 有问题
public function Struct2Bytes(byval obj as object) as byte()
dim size as integer=marshal.sizeof(obj0
dim bytes(size) as byte
dim arrptr as intptr=marshal.unsafeaddrofpinnedarrayelement(bytes,0)
marshal.structuretoptr(obj,arrptr,true)
Struct2Bytes=bytes
end function

public bytes2struct(byval bytes() as byte) as object
dim arrptr as intptr=marshal.unsafeaddrofpinnedarrayelement(bytes,0)
bytes2struct=marshal.ptrtostructure(arrptr,gettype(sendmessage))
end function

[解决办法]
帮顶
[解决办法]
直接看msdn中的关于序列化的相关例子就可以了。
[解决办法]
持续关注中,DING
[解决办法]
try

struct 前加 <structlayout .... > 属性,详细指定结构的在非托管内存中的布局
[解决办法]
我市土豆

读书人网 >VB Dotnet

热点推荐