Я хочу создать поток UDP OUTPUT = UPLOAD с использованием Java. Я получу данные INPUT = SOURCE из именованного канала или смежного файла, открытого как поток ввода файла.
Моя проблема в том, что ВСЕ примеры UDP, которые я могу найти в Интернете, демонстрируют только сеансы консоли. Эхо-серверы и тому подобное.
Я пытаюсь создать способ для потоковой передачи непрерывного контента, такого как аудио / видео, и мне все равно, что теряется, я оставляю это на усмотрение моего пользователя. Однако мой код должен разрешать установку размера буфера и создание UDP-соединения.
В идеальном случае ХОРОШИЙ пример показывает, как выполнять подключения в режиме загрузки и выгрузки (режим клиента и режим сервера)
Можете ли вы предоставить код для этого или показать ссылку в интернете? Тот факт, что я не могу найти пример клиент / сервер UDP-потока, просто смешен. Использование UDP для проведения консольных сессий проверяет пределы здравомыслия человека! Это никогда не следует считать необязательным, не говоря уже о полезности. Код клиент / сервер, который мне нужен, должен быть совместим с GNU netcat. (для обеспечения правильной работы)
Я пробовал это с клиентом:
byte[] buffer = new byte[udpPacketSize]; // 4096
int len;
while ((len = standardInput.read(buffer)) != -1) {
udpSocket.send(new DatagramPacket(buffer, len, host, port));
}
Но когда я прекращаю отправлять данные и отключаюсь, я не могу переподключиться, чтобы отправить больше данных. Я не уверен, что это именно то, что должно произойти, потому что 1) я совершенно не в своем элементе и 2) когда я отключаюсь после отправки данных, удаленный экземпляр GNU netcat не завершается, как в TCPmode.
ПОМОГИТЕ, мне нужен настоящий инженер по сетевым системам, чтобы показать мне, как реализовать UDP для практических приложений!
[и кто-нибудь, чтобы удалить весь этот мусор из Интернета, но давайтене усложняйте]
[далее: пожалуйста, не отвечайте библиотеками, пакетами или командами оболочки в качестве решения. я должен быть в состоянии выполнить на любом встроенном устройстве, на котором могут отсутствовать программы, а библиотеки не учат меня или кого-либо еще, как что-либо делать самостоятельно.]