HxUtils/HxBroadcast.h

60 lines
1.3 KiB
C
Raw Normal View History

2024-01-25 18:37:25 +08:00
#ifndef HXBROADCAST_H
2024-01-12 18:43:14 +08:00
#define HXBROADCAST_H
#include <QObject>
#include <QUdpSocket>
class HxBroadcast : public QObject
{
Q_OBJECT
public:
static HxBroadcast* context();
/**
* @brief
*
* @param port 广
*/
2024-02-04 18:28:34 +08:00
static void initialization(int port, QString ip = "");
2024-01-12 18:43:14 +08:00
/**
* @brief
*
* @param message
*/
static void publish(QString message);
/**
* @brief (JSON格式)
*
* @param action_type
* @param args msgInfo
*/
static void publish_json(int action_type, QJsonObject msgInfo);
/**
* @brief (JSON格式)
*
* @param action_type
* @param args msgInfo
*/
static void publish_json(int action_type, std::initializer_list<QPair<QString, QJsonValue>> args = std::initializer_list<QPair<QString, QJsonValue>>());
2024-01-12 18:43:14 +08:00
private:
void publish_achieve(QString message);
signals:
void publish_event(QString message);
void receive_event(QByteArray data);
2024-01-12 18:43:14 +08:00
private slots:
void receive_ready_read();
private:
int port;
2024-02-04 18:28:34 +08:00
QString ip;
2024-01-12 18:43:14 +08:00
QUdpSocket *socket;
};
#endif // HXBROADCAST_H