C#BinaryFormatter.deserialize到对象以通过套接字发送

时间:2013-07-09 16:54:56

标签: c# sockets binaryformatter

我有一个客户端将一个类序列化为一个流,该流通过套接字传递到我的服务器。 所以我将这个对象发送到我的服务器,我的服务器将通过这样做来保存“对象”:

object readObject = formatter.Deserialize(stream);

它没有反序列化说: 无法找到装配等等。

这是否意味着我的服务器无法获取该对象,将其通过几个套接字推送到其他客户端,客户端将其反序列化?服务器是否真的需要原始类才能反序列化为对象?

我不希望我的服务器能够打开所有这些对象,我只是希望它能够为所有活跃的客户提供服务。

感谢帮助, 笑脸

2 个答案:

答案 0 :(得分:0)

假设您拥有客户端和服务器的源代码,您可以将对象的类定义提取到单独的类库项目(DLL)中,然后从客户端应用程序和服务器应用程序中引用它。这样,他们都知道了类,反序列化应该可以正常工作。

答案 1 :(得分:0)

例如代码查看来自codeplex的TCPMessageServer可用开源

https://tcpmessageserver.codeplex.com/