libcppa actor,它在套接字连接上产生actor

时间:2013-06-11 09:59:45

标签: c++ sockets actor c++-actor-framework

我正在寻找一个libcppa actor的示例代码,该代码侦听端口以获取新连接,然后生成新的actor以处理新连接。

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

你想让演员直接从套接字读/写吗?尚未实现适当的基于actor的IO抽象,但它是下一版本的libcppa的计划功能(敬请关注)。如果您只想通过网络分发演员,请查看publish / remote_actor函数对。

/编辑:

目前,您可以使用一些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
        });
    }
);

可以很好地扩展,因为你将为每个连接创建一个线程,并且它不是很优雅。另外,在通过套接字接收的消息和从其他参与者接收的消息之间很难复用。一个更优雅的解决方案即将推出。 ;)