我正在构建一个基于boost :: asio库中的聊天示例的嵌入式应用程序。服务器从客户端接收消息,并在使用纯虚函数的接口上发送消息。然后从该接口恢复响应并将其发送回客户端。因为它在不同的位置崩溃,所以我无法正确地使用多线程。 http://www.boost.org/doc/libs/1_63_0/doc/html/boost_asio/examples.html
我想知道每个类中的所有共享对象是否应声明为静态,受互斥锁保护,是否可以使用虚函数。如何修改此服务器,使其运行一个线程,用于在网络上接收msg,一个用于在接口上发送msg,另一个用于恢复响应以回发到客户端,因为它们都是异步的。代码量很大,所以我不知道如何发布所有这些。 任何想法都表示赞赏。感谢
答案 0 :(得分:0)
感谢您的投球。经过不同策略的更多试验,我能够让它发挥作用。我现在有两个io服务实例,一个用于管理网络IO,另一个用于管理其他设备接口。共享指针存在问题,该指针为空。所以,我不得不使用" shared_from_this而不是" "这个"因为我的代码在课堂上。 这个例子帮助了我:Long-running / blocking operations in boost asio handlers。