It would accept as much effort you put into tweaking the code. For example if you're not going to Unload elements in the Winsock array, you'll run out of memory sooner or later. Have plenty of eror handling and recovery code to prevent the program from dropping out. Expect timeouts and delayed transfers from clients.

Only staying connected won't be too complicated, but once data transfer starts, keeping several hundred clients stuck together gets harder.