当前位置:  开发笔记 > 编程语言 > 正文

结构到字节数组以通过套接字发送

如何解决《结构到字节数组以通过套接字发送》经验,为你挑选了1个好方法。

从结构中获取字节数组以通过TCP套接字发送的最佳方法是什么?我正在使用.Net(VB或C#).



1> Groo..:

如果您正在使用C#,您也可以自己将其编组为本机缓冲区,以便更好地控制序列化.

您需要在结构中添加适当的属性,

  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack=1)]

然后你可以使用以下命令序列化它:

    /// 
    /// Serializes the specified object into a byte array.
    /// 
    /// The object to serialize.
    /// 
    public static byte[] Serialize(object obj)
    {
        Type objectType = obj.GetType();
        int objectSize = Marshal.SizeOf(obj);
        IntPtr buffer = Marshal.AllocHGlobal(objectSize);
        Marshal.StructureToPtr(obj, buffer, false);
        byte[] array = new byte[objectSize];
        Marshal.Copy(buffer, array , 0, objectSize);
        Marshal.FreeHGlobal(buffer);
        return array;
    }

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有