Я ничего не знаю о сервлетах и Tomcat, но вы можете просто запустить сервер как отдельную Java-программу, открыв ServerSocket для прослушивания порта. При каждом соединении отделяется новый поток с чтением из нового соединения.
Для большей масштабируемости используйте неблокирующий ввод-вывод и селектор вместо отдельного потока для каждого соединения.