I'm using MFC CSocket class to communicate using UDP. The procedure is very simple: as soon as the packet is received, the program sends a response to the sender, using the same socket. Everything works fine, but looking at the screen of WireShark, I noticed a strange thing: every time the program sends an ARP request (if you believe WireShark, after transmitting a response). What is even more strange, the ARP request is not sent as a broadcast request and a valid MAC address of the sender (which, in fact, would have to be determined).
I use SendTo() to transmit. Send() does not work with UDP socket if Connect() is not called before. There are many senders but program replies immediately on receiving a packet and to that sender from which this packet has been received.
I would be grateful if anyone explain to me how these redundant requests (MAC known!), And how to avoid them.