1
0
mirror of https://gitee.com/drabel/LibQQt.git synced 2025-01-04 10:18:44 +08:00
LibQQt/examples/qqtudpexample/kongzhiqiudpprotocol.cpp
2018-01-30 15:22:02 +08:00

141 lines
4.0 KiB
C++

#include "kongzhiqiudpprotocol.h"
KongzhiqiUdpProtocol::KongzhiqiUdpProtocol(QObject *parent) : QQtUdpProtocol(parent)
{
}
//起动命令
void KongzhiqiUdpProtocol::sendStartMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 1;
st.packer(msg);
sendStartMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendStartMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendStartMessage(dg);
}
void KongzhiqiUdpProtocol::sendStartMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
//停机命令
void KongzhiqiUdpProtocol::sendStopMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 2;
st.packer(msg);
sendStopMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendStopMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendStopMessage(dg);
}
void KongzhiqiUdpProtocol::sendStopMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
//自动频率调节命令
void KongzhiqiUdpProtocol::sendFreMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 3;
st.packer(msg);
sendFreMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendFreMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendFreMessage(dg);
}
void KongzhiqiUdpProtocol::sendFreMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
//自动励磁调节命令
void KongzhiqiUdpProtocol::sendVolMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 4;
st.packer(msg);
sendVolMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendVolMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendVolMessage(dg);
}
void KongzhiqiUdpProtocol::sendVolMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
//并网命令
void KongzhiqiUdpProtocol::sendSynMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 5;
st.packer(msg);
sendSynMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendSynMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendSynMessage(dg);
}
void KongzhiqiUdpProtocol::sendSynMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
//解列命令
void KongzhiqiUdpProtocol::sendStepoutMessage(const QHostAddress &address, quint16 port, const KongzhiqiUdpMessage &st)
{
QByteArray msg;
st.getCommand() << 6;
st.packer(msg);
sendStepoutMessage(address, port, msg);
}
void KongzhiqiUdpProtocol::sendStepoutMessage(const QHostAddress &address, quint16 port, const QByteArray msg)
{
QNetworkDatagram dg;
dg.setDestination(address, port);
dg.setData(msg);
sendStepoutMessage(dg);
}
void KongzhiqiUdpProtocol::sendStepoutMessage(const QNetworkDatagram &dg)
{
writeDatagram(dg);
}
KongzhiqiUdpProtocol *kongzhiqiUdpServer(QObject *parent){
static CedianUdpServer* s0 = NULL;
static KongzhiqiUdpProtocol* p0 = NULL;
if(!s0 && !p0){
p0 = new KongzhiqiUdpProtocol(parent);
s0 = new CedianUdpServer(p0);
/*通讯端口:绑定本地端口*/
s0->bind(7200);
/*通讯端口:给控制器协议*/
s0->installProtocol(p0);
}
return p0;
}