Your try to sequence the transmissions and listening/sending states via delay is abysmal
and prone to fail.
You should listen all the time, unless you want to transmit something,
then switch to transmit, send the packet, and switch back to receiving directly after that.
No delay needed, any responses will be received.