У меня есть два компьютера, которые обмениваются данными по серийному модему. Я хотел бы иметь протокол надежности на этой линии.Надежность по последовательному соединению
Я занимаюсь PPP, SLIP и RATP. Не все из них лучше всего подходят, и я не хочу писать весь этот код, особенно если есть хорошая база кода для этого онлайн.
Есть ли в C# проект библиотеки или кода, который может быть использован для этой цели? Если нет того протокола, который вы рекомендуете реализовать?
Скорость подключения 9600, но объем отправленных данных невелик, и скорость не является большой проблемой. Простота и легкость развития!
Обычный способ сделать это в последовательном протоколе - это вычислить CRC сообщения и добавить его в конце сообщения. Приемник может проверить CRC и отправить NAK, когда он не соответствует. Отправитель должен ответить на NAK, отправив сообщение. Когда он получен правильно, он должен отправить ACK, чтобы подтвердить, что сообщение поступило правильно. В Google есть много примеров того, как реализовать CRC в C#. Но самым простым способом было бы переключиться на Ethernet и использовать TCP/IP, и вы получите бесплатную обработку ошибок ... – AVee
Вам нужно определить, что вы подразумеваете под * "reliabilty" *. Во-первых, возникает вопрос о целостности сообщения: является ли полученное сообщение тем же, что и при отправке ?. Тогда возникает вопрос, были ли все отправленные сообщения получены? Получены ли сообщения в правильном порядке? Требуется ли проверка подлинности (например, вас беспокоят атаки «человек в середине»)? Эти проблемы не все решаются каждым «надежным» протоколом. – sawdust