49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
|
#include "ZMQClient.h"
|
|||
|
|
|||
|
#include <QDebug>
|
|||
|
|
|||
|
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;
|
|||
|
}
|