title: What's the difference between sending a UDP datagram to an IP address over WIFI and broadcasting over WIFI when only one WIFI client is connected?
body: <p>I'm experimenting with WIFI multicasting and broadcasting using Raspberry PIs as clients. If I subnet-broadcast or multicast over the WIFI then I lose a lot of packets. If I 'broadcast' to the specific IP of the receiver then I don't lose any packets. I have only the 1 receiver/client connected to my WIFI AP. I'm using QT framework's QUDPSocket::writeDatagram. So I just have to set the IP there and broadcast/subnet-broadcast/multicast is inherently selected. I have verified the appropriate MAC addresses are set using Wireshark and everything seems correct. I can't understand why I'm getting such a huge difference in performance. It's all UDP and there's only a single WIFI client. Any ideas please?</p>
  
  <p>Edit in response to Sam Mason:
  QUDPSocket::writeDatagram takes an IP address. That IP address dictates whether you are unicasting, multicasting, broadcasting, or sub-net-broadcasting. I'm looping on this call to achieve a fixed tx speed of 1.5Mbps. (this is slow compared to what I should be able to push across my WIFI network so I'm not asking for a lot). My question really is why should unicast drop zero packets whilst all other methods drops lots of packets. I'm aware of the 'lowest common  denominator' aspect of non-unicast but I only have 1 client connected, so...what does that mean?). I'm really after a nuts-and-bolts explanation of the real difference between UDP unicast and UDP-broadcast-with-single-client-connected.</p>