【发布时间】:2010-09-08 22:25:39
【问题描述】:
我使用带有 boost.serialization 的 RCF(为什么在我们已经使用原始版本的情况下使用 RCF 的副本?)它工作正常,但是当服务器中抛出异常时,它没有正确传递给客户端。相反,我得到一个 RCF::SerializationException 引用 archive_exception 说“类名太长”。当我将协议更改为 BsText 时,例外是“未注册的类”。当我将协议更改为 SfBinary 时,它可以工作。
我已经像这样在服务器和客户端上注册了 RemoteException:
BOOST_CLASS_VERSION(RCF::RemoteException, 0)
BOOST_CLASS_EXPORT(RCF::RemoteException)
我什至尝试在同一个测试中对boost::shared_ptr<RCF::RemoteException> 进行序列化和反序列化,它确实有效。
那么我怎样才能在不诉诸SF的情况下正确地让RCF通过异常呢?
【问题讨论】:
标签: c++ boost-serialization rcf