Added non-blocking TCP server (both self-contained relay server, and re-usable class)