I have a FEZ connect shield W5100 and I put it on my FEZ Domino. I have the latest firmware upgrade on the Domino. I use the example Connect code to serve up a simple web page that reports the state of a sensor.
This works fine. I can get the web page from home or work.
The problem is that after about 7 to 14 hours the program just hangs. I have a heartbeat that flashes the on-board LED and this stops.
I have logged the requests to the SD card but I have not been able to discern anything useful.
You probably got an exception and your program exited. You need to attach mfdeploy and it run while you monitor the output, like from gc and wait for the exception
Well, I did that and I am none the wiser. The main loop appears to be still running after 19 hours (heartbeat is still flashing) but it no longer receives server requests. It seems to get to the
server.Accept()
statement and then stops.
server.Listen(1);
while (true)
{
Debug.Print("SocketThread: Waiting for a request");
// Wait for a client to connect.
try
{
Socket clientSocket = server.Accept();
// Process the client request. true means asynchronous.
new ProcessClientRequest(clientSocket, true);
Debug.Print("SocketThread: Finished with a request");
I am not sure how best to debug this. There does not appear to be a way to name threads in .NET Micro. Is this correct?