【发布时间】:2012-01-16 01:42:14
【问题描述】:
我的任务是实现一个基于 Win32 的 xml 编辑器作为前端进程,而业务逻辑将通过 64 位进程处理。此外,两个进程之间的通信将通过消息总线完成,该总线只能传输 wchar_t * 形式的消息。 (是的,这太糟糕了)。
假设您手中只有C++ 03,没有外部库支持,例如Boost 这个任务的最佳设计是什么?用例是用户只需编辑一些 .xml 文件。
我想在业务逻辑模块中有一个函数指针表,它处理不同的消息,然后返回“监听”事件。
附带问题是否有任何“简单”的方法可以将对象序列化为字符串?
非常感谢。
编辑:
现在允许提升。我应该选择 ASIO 还是 MPI?我猜第一个对吗?
【问题讨论】:
-
您考虑过来回发送 XML 吗?
:) -
@sbi 是的,但 UI 必须是愚蠢的。这意味着它应该尽可能少地包含“逻辑”。 +1 编码笑脸:)
-
编写一堆在std::istream 和std::ostream 上运行的序列化函数并不难。这样,它们将适用于字符串,并且也是面向未来的。我们在这里所做的是仔细查看 boost 的序列化,然后编写我们自己的简化版本。关于 32/64 位:这不是什么大问题,只需为您将用于传输对象大小等的内容选择一个约定并坚持下去(例如字符串中的字符数)。我们选择了 64 位整数。
-
@FailedDev:使用我的浏览器字体,非比例字体的笑脸看起来比比例字体的笑脸好得多,这就是我开始这样做的原因。然而,当时的代码在 SO 上没有任何背景颜色,但是当他们介绍它时,我已经有数百个,如果不是数千个这样的 cmets。因此,在犹豫了片刻之后,我决定不要试图忘记这一点来混淆我的肌肉记忆。 (现在我不断发现自己试图在 twitter 和其他地方这样做......)
-
如果你是win32,你能用DCOM吗?
标签: c++ client-server 32bit-64bit inter-process-communicat