1

私は単純な C++ PUB と python SUB をセットアップしました。最終的に C++ 側を単純な DLL として構築するつもりです。私は、両側でPythonを使用して同様のセットアップを行った経験があり、問題はありません。しかし、私は完全な C++ 初心者です。

私のC++コード:

#define ZMQ_EXPORT

#include "stdafx.h"
#include "zmq.hpp"

int _tmain(int argc, _TCHAR* argv[]) {
    zmq::context_t context(1);
    zmq::socket_t publisher(context, ZMQ_PUB);
    publisher.bind("tcp://*:6666");

    zmq::message_t message(5);
    memcpy(message.data(), "Hello", 5);

    while(true) {
        Sleep(500);
        publisher.send(message);
    }

    return 0;
}

recv_multipart() の python SUB スクリプトの結果:

['']

それ以外の場合は機能していると確信していますが、memcpy の実行方法に問題があると思います。

4

1 に答える 1

3

pub/sub の「サブスクリプション」部分全体が欠落していると思います

PUB メッセージにある種のメッセージ フィルターを与える必要があります。これは、SUB がsetsockoptメッセージを受信できるようにする必要があることも意味します。

実際に PUB メッセージ用のメッセージ フィルタがないことを示す例が示されています (または、「Hello」はメッセージ フィルタであり、データ メッセージは実際には空の文字列です)。

于 2012-09-14T11:35:17.917 に答える