我正在寻找libcppa参与者的示例代码,它在端口上侦听新的连接,然后产生新的参与者来处理新的连接。
任何帮助都将不胜感激。
谢谢
发布于 2013-06-11 20:45:14
您是否希望参与者直接从套接字读取/向套接字写入?基于参与者的IO抽象还没有实现,但这是libcppa的下一个版本的计划特性(请继续关注)。如果您只想通过网络分发您的参与者,请查看publish/remote_actor函数对。
/edit:
现在,您可以使用libcppa的一些实用程序来启动并运行阻塞版本:
using namespace cppa;
spawn<detached>([] {
auto ack = network::ipv4_acceptor::create(4242);
for (;;) {
auto spair = ack->accept_connection();
spawn<detached>([spair] {
// spair.first is the input stream
// spair.second is the output stream
// please see http://neverlord.github.io/libcppa/namespacecppa_1_1network.html
});
}
);这不能很好地扩展,因为您将为每个连接创建一个线程,而且它也不是很优雅。此外,很难在通过套接字接收的消息和从其他参与者接收的消息之间进行多路复用。一个更优雅的解决方案即将问世。;)
https://stackoverflow.com/questions/17041406
复制相似问题