Use non-blocking sockets, so we can manage multiple servers (as seen in main.c). Might be broke on Posix, testing soon