gpt4 book ai didi

c# - 使用 UdpClient C# 发送对象

转载 作者:太空狗 更新时间:2023-10-29 22:54:46 25 4
gpt4 key购买 nike

我目前正在 visual studio 2010 中进行测试。我制作了一个客户端和服务器,它们都将通过 UdpClient 进行连接。

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

我的服务器看到接收到对象并尝试将其从字节转换为对象,但这会出错。

System.Runtime.Serialization.SerializationException was unhandled   Message=Unable to find assembly

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

这些是我转换的方法;客户端和服务端都一样

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);
}
}

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

最佳答案

您需要将所有序列化的类放在一个类库项目中。在服务器和客户端中使用该库。

另请注意,UDP 不可靠。无法保证您的消息一定会到达。

关于c# - 使用 UdpClient C# 发送对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6321428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com