Я работаю над проектом класса, используя Java и UDP-отправители и приемники. Предпосылка проблемы заключается в чтении в текстовом файле, хранении содержимого в пакете, отправке пакета, получении пакета и чтении файла на экране и создании нового текстового документа на принимающем компьютере идентичного текстового файла ,Проблема отправки и получения пакетов Java UDP
У меня есть все, что работает. Когда я тестирую локальный хост, он работает в 100% случаев. Когда я отправляю его с моего ноутбука на компьютер, он работает 100% времени. Однако, когда я отправляю его с моего компьютера на свой ноутбук, он не работает.
У меня есть несколько отладочных инструкций System.out для проверки некоторой информации, которую я отправляю. Я знаю, что текстовый файл должен принимать 7 пакетов. Однако, когда я отправляю его с моего компьютера на свой ноутбук, он говорит, что я отправляю 46 пакетов.
Моя первоначальная мысль заключается в том, что, возможно, пакеты отправляются из строя. Первый пакет, который я отправляю, указывает количество пакетов, которые должен ожидать приемник. Я подумал, что, может быть, почему-то «46» может указать столицу «F», поэтому я удалил всю столицу «F», и она все еще говорит, что я отправляю 46 пакетов.
Я подумал, что, возможно, я отправлял слишком много информации сразу, поэтому я использовал Thread.sleep(), чтобы дать моему приемнику время идти в ногу - это тоже не сработало.
Наконец, я прочитал документацию Oracle и некоторые сообщения в Интернете и узнал, что UDP ненадежен. Поэтому я предполагаю, что это возможно. Тем не менее, я хочу просто проверить, что это может быть проблемой.
Или, если у кого-то есть лучшая идея относительно того, что могло бы вызвать проблему, которая была бы удивительной!
Спасибо за вашу помощь :)
Удивительный ответ, спасибо! Я решил проверить это. Я не уверен, что это было просто совпадение, но, похоже, это закончилось. Я попробовал это с моего ноутбука на свой компьютер с тонны видео Youtube, и UDP Receiver сказал, что он получил 106 пакетов, и, в конечном итоге, сообщение не получило должным образом. Я выключил их и отправил их снова, и это сработало. Я сделал тот же эксперимент с моего компьютера на свой ноутбук, и у меня были те же результаты. Опять же, не уверен, что это совпадение, но из того, что вы сказали, и моего эксперимента, кажется, это ответ на мою проблему. Спасибо :) – BearForceOne
@BearForceOne - Это указывает на потерю пакетов как на проблему. Если вы потеряете один пакет, вы потеряете полное сообщение UDP, и, следовательно, передача файла не удастся. –