【发布时间】:2015-12-09 04:33:45
【问题描述】:
我正在使用 c++ 为客户端和服务器编写一些代码。
我正在使用 boost serialize 在客户端序列化一个对象,然后将其发送到服务器。 然后服务器反序列化流并重新创建对象。 服务器然后调用对象的运行函数。 然后服务器序列化对象并将其发送回客户端。
我这样做的原因是例如客户端需要知道服务器上的 /home/dataIncoming 文件夹中有哪些文件。
这只是一个简单的例子
我的问题是,对于序列化的对象,我需要在服务器和客户端上使用相同的代码。或者服务器如何知道如何反序列化发送的对象。
因此,如果我更改服务器代码,我需要确保我也将代码传递给客户端程序。
程序员如何轻松解决客户端和服务器重复代码的问题?
或者有什么方法可以序列化,这样重复的代码就不需要存在于客户端和服务器上?
或者我只是简单地向服务器发送一个协议流,并让服务器读取该协议流以重构要运行的命令和要发回的信息。
在客户端构建一个对象,让它在服务器上运行,然后将结果发送回客户端似乎是最简单的。
感谢您的所有想法!
【问题讨论】:
-
您的客户端和服务器都必须知道对象类型。把它放在一个被编译到两个程序中的组件中。 (我想它们都是用 C++ 编写的)。
-
你可能想看看 RPC