Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By mrburnette
#60369
lalo_uy wrote:I have the same problem.
My info is broadcasted every 50ms to 4 diferent displays, and not every packet is send on time or ever.
BUT if I send the info to a normal IP all goes ok, but only to one destination.
I tryed multicas & broadcast with the same result.
If the sender is a PC all goes perfect.



Perhaps you know, perhaps you do not, but a short refresher for the readers may be useful:
Under the ArduinoIDE core for the ESP8266, the Arduino compiled code runs in a timeslice that effectively is single-threaded. The Arduino "side" of the code returns control to the NON-OS task manager (effectively the Espressif RF section) whenever loop() repeats, with any delay(xx) statement, with delay(0), and with yield(). The documentation varies, but the Arduino code must switch-out every 30mS to 50mS or the RF and protocol stacks will go stale.

With UDP, you should consider the "U" to mean unreliable. Even at 1 GPS sentence per second, I sometimes have dropped packets ... I have 3 wireless AP all in contention for bandwidth ... collisions will happen. Software using UDP should be written to anticipate missing packets.


Ray
User avatar
By rudy
#60387
mrburnette wrote:Software using UDP should be written to anticipate missing packets.
Ray


I felt it needed a little more emphasis. :D