5
新しい接続用のポートで待機し、新しい接続を処理するために新しいアクターを起動するlibcppaアクターのサンプルコードを探しています。libcppaアクターがソケット接続を開始する
ご協力いただければ幸いです。
ありがとう
新しい接続用のポートで待機し、新しい接続を処理するために新しいアクターを起動するlibcppaアクターのサンプルコードを探しています。libcppaアクターがソケット接続を開始する
ご協力いただければ幸いです。
ありがとう
アクターがソケットから直接読み書きできるようにしますか?適切なアクターベースの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
});
}
);
あなたが作成されますので、これは、うまくない規模を行います1つの接続につきスレッド、それはあまりエレガントではありません。さらに、ソケット経由で受信したメッセージと他のアクターから受信したメッセージを多重化するのは難しいです。より洗練されたソリューションが進行中です。 ;)
ありがとう@neverlord。私は実際に接続ごとに俳優が欲しいので、それは素晴らしいと私はポーリングを使用するので、ブロックされません。良い仕事を続けてください。 IOベースのアクターを試すのを待つことはできません:) zeromqベースのアクターを追加する計画はありますか? –
ZeroMQはToDoリストにありませんが、libcppaはオープンソースです。おそらく実装に貢献したいと思うかもしれません。 ;) – neverlord