Про библиотеки не знаю, но в целом всё просто реализуется. Создаёте отдельный поток, создаёте Socket, получаете InputStream и OutputStream. А дальше пишете/читаете что хотите. В этом же вся прелесть, в ваших руках полный контроль над протоколом общения!
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.