Для приложения для обмена файлами я хотел бы использовать сокеты TCP / IP. Но это не работает, потому что оба клиента находятся за NAT. Поэтому я должен использовать UDP и метод пробивки отверстий.
Поскольку UDP ненадежен, я должен реализовать протокол, подобный TCP. Мне не нужны потоки. Протокол на основе сообщений будет в порядке. Где-то уже есть бесплатная библиотека Java? Если нет, есть ли абстрактное руководство, как реализовать такой протокол?