首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中将对象转换为字节数组,通过套接字发送,然后转换回对象

在C#中将对象转换为字节数组,通过套接字发送,然后转换回对象
EN

Stack Overflow用户
提问于 2010-11-14 12:53:14
回答 4查看 4.7K关注 0票数 6

因此,我有一个服务器和一个客户端,它们来回传递各种数据。最初,我有一个复杂的方法,它遍历字节数组,并将它的所有变量和字符串一个接一个地转换成它们应该是的样子。我学习了如何将所有变量放入一个对象中,并将其转换为一个字节数组

代码语言:javascript
运行
复制
private static byte[] ObjectToByteArray2(Object obj)
    {
        if (obj == null)
            return null;
        BinaryFormatter bf = new BinaryFormatter();
        MemoryStream ms = new MemoryStream();
        bf.Serialize(ms, obj);
        return ms.ToArray();
    }

并使用以下命令将其转换回来

代码语言:javascript
运行
复制
private static Object ByteArrayToObject(byte[] arrBytes)
    {
        MemoryStream memStream = new MemoryStream();
        BinaryFormatter binForm = new BinaryFormatter();
        memStream.Write(arrBytes, 0, arrBytes.Length);
        memStream.Seek(0, SeekOrigin.Begin);
        Object obj = (Object)binForm.Deserialize(memStream);
        return obj;
    }

问题是,一旦我通过网络将这个字节数组发送到另一个应用程序,我就不能只使用这个方法将它转换回来,我得到了错误消息"Unable to find assembly 'test1s,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null‘“。test1s只是我开发的一个小服务器程序的名字。显然,应用程序需要一些额外的信息来将这个数组转换回一个对象,所以我有什么方法可以做到这一点,或者我的问题是错的吗?

我想在这里完成的是一个只有几个变量和字符串的对象,将其转换为字节数组,将其发送到另一个应用程序,并将其转换回对象。这样,我就不必使用字节数组来提取所有的变量和字符串。

谢谢

EN

Stack Overflow用户

发布于 2010-11-14 12:57:35

如果发送字符串列表(或字符串字典)是您想要的,那么只需发送字符串列表(或字典)即可。您的问题出现是因为您试图发送另一个项目无法识别的数据类型。你甚至不需要改变你的任何功能,你只需要改变你发送的内容。或者,您可以从接收数据的程序引用test1s。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4176235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档