utility/socket.h was removed from the Ethernet library in version 2.0.0. The easiest fix would be to roll back to the newest version before it was removed:
Sketch > Include Library > Manage Libraries
Wait for the download to finish.
In the "Filter your search..." box, type "ethernet".
Press Enter.
From the search results, click on "Ethernet Built-In by Various".
From the dropdown version menu, select "1.1.2".
Click the "Install" button.
Wait for the installation to finish.
Click the "Close" button.
Note that support for the W5200 and W5500 Ethernet controllers was added in Ethernet library 2.0.0. Version 1.1.2 only supported the W5100.
Modifying the sketch to work with Ethernet 2.0.0 would be the best solution. I'm not sure what would be required. Maybe someone else here will have advice on that.
Yes, that was the first thing I tried. It resulted in an error with the " close(i);" saying "close was not declared in this scope.
I could just comment out the "close(i)" statement but it is the part of the code that puts this webserver above others; namely it closes dead sockets while other Arduino webservers use up their limited number of sockets and then lock up, even though they maybe inactive.
Not a fix to the problem but may lead to a fix in the future.
I just wanted to use webserver to run my application on. I may have to learn up on socket programming (of which i'm totally ignorant) and network protocols to fix the issue. What was to be an 'off-the-shelf' module to run my main application on has now become the main project.
Cheers.