Мне нужно создать монитор, который будет записывать информацию о пакете, отсутствующем с помощью ZeroMQ ipc. На самом деле я не совсем понимаю все об этом из-за того, что есть некоторые протоколы LINX, TIPS. Не могли бы вы объяснить мне это и ответить на главный вопрос?Гарантирует ли IPC порядок сообщений в Linux?
ответ
Вы можете сделать самодиагностику приложения, включив серийный номер сообщения в каждую структуру сообщений. Отправитель сообщения отслеживает серийный номер, который он отправил последним, и увеличивает его каждый раз, когда он отправляет сообщение.
Получатель должен получать сообщения с постоянно увеличивающимися серийными номерами сообщений. Если это когда-либо прыгает на 2 или больше, сообщение пропало.
IPC не является убыточным, как сеть может быть - байты, вставленные в другой конец. TCP также не является потерянным, если оба конца все еще запущены, а сама сеть не сработала. Однако в зависимости от используемого шаблона ZMQ и того, как он настроил целые сообщения, может быть отменено (например, если получатель еще не подключен и т. Д.). Если это то, что вы подразумеваете под «отсутствующим пакетом», оно будет обнаружено путем включения серийного номера возрастающего сообщения.