#ifndef NETWORK_H #define NETWORK_H #include #include #include #include #include #include #include #include #include //元亨 class NetComm : public QObject { Q_OBJECT public: NetComm(QObject *p = nullptr); ~NetComm(); QHostAddress getHostIPV4Address(); STREAM_PACKET LedOkMakeStreamPacket(int iComType,int iLen,unsigned char *ucBuf,QString str); QList LedCardList; public: LedCard * GetLedCardPoint()const {return m_pLedCard;} void SetLedCardPoint(LedCard * p){m_pLedCard=p;} void StartUpdCheck(); void StopUpdCheck(); void HttpGetFuncByPort(QString strFunc,QString strIp); void CheckSpecifyIpRange(QString strFromIp,QString strToIp); void CheckSpecifyIp(QString strIp); void RestoreLedCardIpByUdpCmdBefore(QString strNetworkName); void RestoreLedCardIpToDhcpByUdpCmd(QString strNetworkName); void StopAllCheck(); void ClearAllLedcardList(); static DWORD WINAPI send(void *); public slots: void OnStartUdpTimer(bool b); signals: // void LedCardChanged(LedCard *); void sigwDeviceItemHttpPost(LedCard *); void addLedCard(LedCard *); void ClearHeartbeatFlagByUdp(LedCard *); void sigGetSpecifyIpResponse(LedCard *); void sigGetSpecifyIpTimerOut(); private slots: void onUdpTimeout(); void onSpecifyIpTimeout(); void UdpRecveive(); void CheckControllersInLanByUdpCmd(); void CheckControllersInLanByUdp255Cmd(); void CheckControllersInLanByUdpSelfBroadcastCmd(); void OnProHttpGetResponse(QString url, QByteArray data); void RestoreLedCardIpByUdpCmd(); void RestoreLedCardIpToDhcpByUdpCmd(); private: QString m_strCardId; qint32 m_iWidth; LedCard *m_pLedCard; QString m_strCurSpecifyIp=""; int m_intSpecifyIpGetNumber=0; QString m_strDirectlyConnectNetworkName=""; private: QUdpSocket *udpSocket=nullptr; int m_port=31296; QTimer *m_pUdpTimer=nullptr; HpptClient *pHpptClient = nullptr; QString m_strUrl=""; QTimer *m_pHttpGetTimer=nullptr; QTimer *m_pGetSpecifyIpTimer=nullptr; int m_UdpTimerInterval=500; int m_iEnableQuitFlag=0; void JieXiQJsonObjectOfLedCardInfo(const QJsonObject &subObj,const QString &strIp); void JieXiQJsonObjectOfLedCardInfoOld(const QString &strId,const QString &strIp); // QListObject myUdpSocketList; // QList ipAddressesList = QNetworkInterface::allAddresses(); }; extern NetComm *p_globaNetComm; #endif // NETWORK_H