#include "ZMQClient.h" #include ZMQClient::ZMQClient(QObject* parent) : QObject(parent) , ctx_(1) , socket_(ctx_, zmq::socket_type::push){ } ZMQClient::~ZMQClient() { } bool ZMQClient::ConnectToServer(const QString& address) { std::string host("tcp://"); host += address.toStdString(); socket_.connect(host); socket_.setsockopt(ZMQ_LINGER, 10); //socket_.setsockopt() return true; } bool ZMQClient::Send(const QString& message) { if (!socket_.connected()) { qDebug() << __FUNCTION__ << "is not connected " << message; } /* QByteArray block; QDataStream out(&block, QIODevice::ReadWrite); QDataStream out(m_socket); out.setVersion(QDataStream::Qt_6_2); out << message.toUtf8();*/ // m_socket->write(message.toUtf8()); std::string ss = message.toStdString(); zmq::message_t msg(ss.data(), ss.size()); try { auto res = socket_.send(msg, zmq::send_flags::none); qDebug() << __FUNCTION__ << message << " res:" << res.value(); } catch (zmq::error_t e) { const char* w = e.what(); qDebug() << __FUNCTION__ << w; } return true; }