Я пытаюсь создать клиент Java Bittorent. Насколько я понимаю, после рукопожатия сверстников друг с другом они могут начать отправлять сообщения друг другу, часто отправляя сообщения спорадически.
Используя соединение DataInputStream, я могу читать сообщения, но если я вызываю чтение, а в потоке ничего нет, пиры удерживают. Есть ли способ узнать, отправляется ли что-то через поток? Или мне следует создать новый поток, который непрерывно считывает поток сообщений от каждого узла, пока клиент не отключит их?