두 대의 컴퓨터가 직렬 모뎀을 통해 통신합니다. 그 라인에 신뢰성 프로토콜을 갖고 싶습니다.직렬 연결을 통한 신뢰성
나는 PPP, SLIP 및 RATP를 조사 해왔다. 모든 이들이 최선의 선택은 아니며 특히 모든 코드를 작성하고 싶지는 않습니다. 특히 온라인을위한 훌륭한 코드 기반이있는 경우에 그러합니다.
그 목적으로 사용할 수있는 C#의 라이브러리 또는 코드 프로젝트가 있습니까? 구현하기 위해 어떤 프로토콜을 권장해야합니까?
연결 속도는 9600이지만 전송되는 데이터 양은 그리 크지 않으며 속도는 큰 문제가 아닙니다. 단순성과 개발 용이성!
직렬 프로토콜에서이 작업을 수행하는 일반적인 방법은 메시지의 CRC를 계산하여 메시지 끝에 추가하는 것입니다. 수신기는 CRC가 일치하지 않을 때 CRC를 확인하고 NAK를 보낼 수 있습니다. 보낸 사람은 메시지를 다시 보내 NAK에 응답해야합니다. 제대로 수신되면 메시지가 제대로 도착했는지 확인하기 위해 ACK를 보내야합니다. Google에는 C#에서 CRC를 구현하는 방법에 대한 많은 샘플이 있습니다. 하지만 가장 쉬운 방법은 이더넷으로 전환하고 TCP/IP를 사용하면 무료로 오류 처리를받을 수 있습니다. – AVee
* "reliabilty"*로 무엇을 의미해야하는지 정의해야합니다. 먼저 메시지 무결성에 대한 질문이 있습니다. 수신 메시지는 전송 될 때와 동일한 것입니까? 그런 다음 모든 메시지를 받았는지 의문의 여지가 있습니까? 메시지가 올바른 순서로 수신 되었습니까? 인증이 필요한가 (예 : 중간자 공격에 대해 우려하고 있습니까?) 이러한 문제가 모든 "신뢰할 수있는"프로토콜에 의해 모두 해결되는 것은 아닙니다. – sawdust