加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
GroupRPC.h 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
zc 提交于 2020-01-14 10:20 . 修改输出音频的逻辑
#ifndef GROUPRPC_H
#define GROUPRPC_H
#include <QObject>
#include <QUdpSocket>
#include <QJsonDocument>
#include <QMap>
#include <QList>
class GroupRequest : public QObject
{
Q_OBJECT
public:
friend class GroupRPC;
explicit GroupRequest(QObject *parent = 0);
uint seq;
QVariant ret;
private:
static uint nextSeq;
signals:
void respond();
public slots:
};
class GroupRPC : public QObject
{
Q_OBJECT
public:
explicit GroupRPC(QObject *parent = 0);
bool init(int p=5432);
void updateNet();
void addMethod(QString name, QObject* obj, const char* method);
QVariant call(QString method,QString to,QVariant data=QVariant(),bool noRespond=false);
void setGroupId(int gid);
int getGroupId();
QHostAddress getFromIp();
QHostAddress getLocalIp();
QString getFromMac();
QString getLoaclMac();
private:
QVariant callbak(QVariantMap msg);
void send(QVariantMap &msg);
private:
QMap<QString,QObject*> objectMap;
QMap<QString, const char*> methodMap;
QList<GroupRequest*> requestList;
QString localMac;
QHostAddress localIp;
QUdpSocket socket;
QHostAddress fromIp;
QString fromMac;
int timeout;
int port;
int groupId;
signals:
public slots:
void onRead();
};
#endif // GROUPRPC_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化