Qt5 获取所有网卡的地址信息

多网卡系统,需要获取每个网卡的地址信息。

代码:

Qt 5.12.0 + VS2015sp3 + Win10 测试通过

#include <QCoreApplication>
#include <QtNetwork>
#include <QDebug>

int main()
{
    QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
    foreach (QNetworkInterface interface, interfaces) {
        if((interface.flags() & QNetworkInterface::CanBroadcast) && (interface.flags() & QNetworkInterface::IsRunning)){
            QList<QNetworkAddressEntry> addresses = interface.addressEntries();
            foreach (QNetworkAddressEntry address, addresses) {
                qDebug()<<"------------------------------------";
                qDebug()<<"Interface Flags: "<<interface.flags();
                qDebug()<<"IP: "<<address.ip().toString();
                qDebug()<<"Netmask: "<<address.netmask().toString();
                qDebug()<<"Broadcast: "<<address.broadcast().toString();
            }
        }
    }
    return 0;
}

Continue reading

KUKAVARPROXY 的 UDP 自动应答消息

KUKAVARPROXY 开放了源码 https://github.com/ImtsSrl/KUKAVARPROXY ,得以查看如何应答客户端的实现部分。

一、概要

概括来说,KUKAVARPROXY启动后,会建立一个UDP对象监听 6999 端口,如果收到报文 “WHEREAREYOU?”,则会向客户端的 7000 端口发送 “KUKA|” & $MODEL_NAME[ ] & “|” & $KR_SERIALNO 的UDP报文,客户端收到后就可获取服务端的信息,包括型号、序列号,当然也可以包括服务端的 IP 地址。

Continue reading

KUKAVARPROXY 在 KRC4 中接收和发送消息的格式 (2)

一、目的

在上一篇文章《KUKAVARPROXY 在 KRC4 中接收和发送消息的格式 (1) 》中,LT 囫囵吞枣分析了 KUKAVARPROXY 数据收发消息格式,虽然贴出了分析内容和源代码,不过还是不够直观,所以 LT 决定用形象的方式再分析一次 KUKAVARPROXY 的报文格式。

KUKAVARPROXY Continue reading