Next problem: Change this part
// Run WiServer
WiServer.server_task();
}
to
}
// Run WiServer
WiServer.server_task();
You have to call the networking code often enough. You don't have an operating system on the Arduino which is handling all the low level stuff and allows multi-tasking by switching between tasks and threads but you have to take care for everything in your sketch. And leave the delay() from my first post removed, take care of that wait time by saving the time you requested the temperature reading and checking if the 750ms went over each time you're in the main loop.