ZeroMQでパブリッシャーサブスクライバーモデルを開発しようとしましたが、ここではJSONファイルからオブジェクト値を抽出して相手側に送信しています。ZeroMQパブリッシャーでランタイムエラーを修正する方法
私の加入者のパートは、何らかのエラーを出すことでうまく動作しています。内部
#include "jsoncpp/include/json/value.h"
#include "jsoncpp/include/json/reader.h"
#include <fstream>
#include "cppzmq/zmq.hpp"
#include <string>
#include <iostream>
#include <unistd.h>
using namespace std;
int main() {
zmq::context_t context(1);
zmq::socket_t publisher (context, ZMQ_PUB);
int sndhwm = 0;
publisher.setsockopt (ZMQ_SNDHWM, &sndhwm, sizeof (sndhwm));
publisher.bind("tcp://*:5561");
const Json::Value p;
ifstream pub_file("counter.json");
Json::Reader reader;
Json::Value root;
if(pub_file != NULL && reader.parse(pub_file, root)) {
const Json::Value p = root ["body"]["device_data"]["device_status"];
}
string text = p.asString();
zmq::message_t message(text.size());
memcpy(message.data() , text.c_str() , text.size());
zmq_sleep (1);
publisher.send(message);
return 0;
}
*スコープ*について知る必要があります。 'p'という名前の2つの異なる***変数があります。 –