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

mon*_*y_p 5 c++ sockets actor c++-actor-framework

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

任何帮助,将不胜感激.

谢谢

nev*_*ord 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
        });
    }
);
Run Code Online (Sandbox Code Playgroud)

这不能很好地扩展,因为您将为每个连接创建一个线程,并且它不是很优雅。另外,很难在通过套接字接收的消息和从其他参与者接收的消息之间进行多路复用。更优雅的解决方案正在酝酿之中。;)