PGM - порядок пакетов и надежность
Я пишу приложение, которое должно отправлять изображения от нескольких отправителей нескольким получателям. Это уже реализовано через TCP, но я бы хотел добиться большей скорости, поэтому я смотрю на многоадресную рассылку. UDP слишком ненадежен. PGM выглядит как решение, но я до сих пор не понимаю некоторые его особенности:
- В некоторых местах говорится: "PGM не поддерживает подтвержденную доставку и не гарантирует порядок пакетов от нескольких отправителей". Означает ли это следующее: отправитель A отправляет 5 пакетов, отправитель B отправляет - 3. Получатель получает, скажем, первые 3 пакета из формы A в правильном порядке отправки, а затем, например, первые 2 из B в правильном порядке отправки а затем последние 2 из А. Итак, в конце концов, у меня есть A1, A2, A3, B1, B2, A4, A5. Или это означает, что даже пакеты из данного источника не будут в порядке, например, в данном случае: A2, A5, B2, A4...? Надеюсь, этот вопрос не слишком запутанный.
- "PGM - это надежный и масштабируемый протокол многоадресной рассылки, который позволяет приемникам обнаруживать потери, запрашивать повторную передачу потерянных данных или уведомлять приложение о неисправимых потерях". Мой вопрос касается уведомления о невосстановимой потере. Я не могу понять, что это значит точно. Даст ли оно приложению достаточно информации, чтобы попытаться повторно отправить пакет?
1 ответ
Решение
1.) Первый случай. Пакеты из одного источника доставляются в заказе
2.) Нет, в Windows сокет закрывается. Я не пробовал OpenPGM на Linux.