System Info:
Windows NT 4 SP 6A
Delphi 5
Indy 8.00.23
I'm experiencing a very odd problem with the Indy UDP components. I have
two applications. I have a UDP client application that sends "I'm alive"
messages on a regular basis (once every 5 seconds). The other app uses a
UDP server to receive the "I'm alive" messages. Both of the UDP components
have TidAntiFreeze with them. Both applications are running on the same
computer with the UDP components set to send to local host. The ports that
the messages are sent and received on are hard coded and not changed during
application execution. Every UDP packet that the server receives is logged.
After running these two applications on my test system (on which other
applications are not ran) non-stop for 6 days the UDP server app suddenly
stopped receiving messages. Both UDP sockets were still bound according to
netstat. To test what side of the communication was broken I turned off the
UDP server and started it again, and the messages came through. So it
appears that the UDP server just stopped listening for UDP messages for no
reason. It wasn't just one UDP message that was dropped, no UDP
communication came through to the server for several hours, even though it
was being sent. Does anyone have an idea why or how something like this
could happen? Is there possibly something wrong with the UDP components, my
implementation, or could this be OS related? I ran the test a second time
and the server no longer knew about the UDP messages after 30 hours. What's
really confusing is how sporadic this is occurring, making it very hard to
diagnose the cause. Any ideas / suggestions are greatly appreciated!