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