65 lines
1.2 KiB
C++
65 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QThread>
|
|
#include <zmq.hpp>
|
|
|
|
//
|
|
//class SocketMonitor : public QObject, public zmq::monitor_t {
|
|
// Q_OBJECT
|
|
//
|
|
//public:
|
|
// SocketMonitor(class ZMQClient* client);
|
|
// ~SocketMonitor();
|
|
//
|
|
// void on_event_connected(const zmq_event_t& event_, const char* addr_) override;
|
|
// void on_event_disconnected(const zmq_event_t& event_, const char* addr_) override;
|
|
//
|
|
//
|
|
//Q_SIGNALS:
|
|
// void Connectd();
|
|
// void Disconnectd();
|
|
//
|
|
//public:
|
|
// void doWork(QString address);
|
|
// void Stop() {
|
|
// abort();
|
|
// }
|
|
//
|
|
//
|
|
//private:
|
|
// class ZMQClient* client_{ nullptr };
|
|
//};
|
|
|
|
class ZMQClient : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ZMQClient(QObject* parent = nullptr);
|
|
~ZMQClient() override;
|
|
|
|
bool ConnectToServer(const QString& address);
|
|
|
|
bool Send(const QString& message);
|
|
|
|
const zmq::socket_t& GetSocket() const {
|
|
return socket_;
|
|
}
|
|
zmq::socket_t& GetSocket() {
|
|
return socket_;
|
|
}
|
|
Q_SIGNALS:
|
|
void MessageReceivered(const QString& message);
|
|
void Connectd();
|
|
void Disconnectd();
|
|
|
|
void operate(QString);
|
|
void StopMino();
|
|
|
|
|
|
private:
|
|
std::shared_ptr<zmq::context_t> ctx_;
|
|
zmq::socket_t socket_;
|
|
std::string host_;
|
|
//QThread thread_;
|
|
}; |