小编ken*_*hin的帖子

使用UdpClient C#发送对象

我目前正在使用visual studio 2010进行测试.我创建了一个客户端和服务器,它们都将通过UdpClient连接.

我想从客户端向服务器发送一个对象.我有两种方法将对象转换为字节并将其转换为对象.现在,当我测试我的应用程序时,我无法将其转换回服务器上收到的对象

我的服务器看到该对象被接收并尝试将其从字节转换为对象,但这会产生错误.

System.Runtime.Serialization.SerializationException was unhandled   Message=Unable to find assembly
Run Code Online (Sandbox Code Playgroud)

这似乎没关系,因为两个应用程序都在不同的命名空间中......

这些是我转换的方法; 在客户端和服务器上都是相同的

public byte[] ToBytes() {
        using (MemoryStream stream = new MemoryStream()) {
            BinaryFormatter formatter = new BinaryFormatter();
            formatter.Serialize(stream, this);

            stream.Position = 0;

            byte[] byteRij = new byte[1024];

            stream.Read(byteRij, 0, (int)stream.Length);

            return byteRij;
        }
    }

    public static Datagram ToDatagram(byte[] rij) {
        using (MemoryStream stream = new MemoryStream()) {
            stream.Write(rij, 0, rij.Length);

            stream.Position = 0;

            BinaryFormatter formatter = new BinaryFormatter();
            return (Datagram)formatter.Deserialize(stream);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?提前致谢

c# udpclient

5
推荐指数
1
解决办法
3917
查看次数

标签 统计

c# ×1

udpclient ×1