The packet does not seem to be a valid UDP datagram.
Edit :
After flashing with the package, it seems that this is enough to change the type in the ethernet header to IPv4 (0x0800).
It shows a weird TTL with a value of 0, but this could be due to the sender.
Original post :
Instead of your current data, you should send it so that you have a valid datagram:
Ethernet headers with IPv4 (14Byte): (as in your implementation, but enter IPv4 0x0800), Source, Dest, Type
64006a493488 020826283900 0800
IPv4 headers (20Byte): Version, Other, Size = 1298 (0512) UDP + 20, Identifier, Flags (0x00), FlagOffset (0), TTL (128), Protocol (17 UDP), checksum, source =. 10.200, Dest = .10.10
45 00 0512 31f0 00 00 80 11 0000 c0a80ac8 c0a80a0a
UDP-Header (8Byte): Source = 1919, Dest = 1920, Length = 1278 (04fe) = Data + 8, Checksum 2Byte NOT CALCULATION in the example !!!
077f 0780 003e 9672
DataPayload : 1270 bytes of raw data
0a9f....
Using this as a datagram, you should not actually use connectToHost()
, but use writeDatagram()
and now you are probably working with the signal called by the readyRead()
slot with hasPendingDatagrams()
and readDatagram()
.