Znalazłem na stronie http://stackoverflow.com/questions/29142457/how-to-do-wake-on-lan-by-qt-5 kod w Qt 5... umożliwiający uruchamianie komputerów przez sieć lan. Nie wiem czemu ale gdy ja chcę go uruchomić dostaję error "QAbstractSocket::UnknownSocketError".
Ps. Próbowałem wyłączyć zaporę, ale nie pomaga.
Ps2. Adres MAC jest poprawny, ten tutaj celowo zmieniłem, tak samo jak adres ip.
Oto kod :
QString MAC = "12-23-34-45-56-67";
char MACAddr [6];
char MagicPacket [102]; // Magic package for remote boot
int j = sscanf_s (MAC.toLatin1().data(), "%2x-%2x-%2x-%2x-%2x-%2x",
& MACAddr [0], & MACAddr [1], & MACAddr [2], & MACAddr [3], & MACAddr [4], & MACAddr [5]);
qDebug() << j;
// Set to hexadecimal before the magicpacket array 6 characters ff
memset (MagicPacket, 0xff, 6);
int packetsize = 6; // the beginning of the initial value is 6, do not wrong. I is because the effect of the initial value of the written as 0, it is too effortless.
// Build MagicPacket.
for (int i = 0; i <16; i++)
{
memcpy (MagicPacket + packetsize, MACAddr, 6);
packetsize += 6;
}
QHostAddress FakeAddress;
FakeAddress.setAddress ("192.168.0.255");
QUdpSocket udpSocket;
udpSocket.writeDatagram(MagicPacket, 102, FakeAddress, 9);
qDebug() << udpSocket.error();