老生长谈 求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 .... > 属性,详细指定结构的在非托管内存中的布局
[解决办法]
我市土豆