Chris,
The "unblocking" solution did solve the problem when one of the ND's dropped connection. The main ND that talks to each of the others just ignores that connection now and continues but I still have the problem where the ND's are just dropping connection and random times.
I'm now wondering if I'm using my "using" blocks wrong. Each controller opens a socket and listens for requests. The using statement is executed every time through the while loop.
Question 1: Should I open a socket that listens and place it before the while loop and just keep it open?
Question 2: Should I not use the "using" each time I want to communicate to a ND? I.E. I need to send an LED sequence to all 6 ND's then I am using 6 "using" and closing each connection in each using. What I'm wondering is do I just open 6 sockets in my program and leave them open?
I hope this makes sense.
Steve