문제

엔터프라이즈 소프트웨어 시스템과 상호 작용 해야하는 임베디드 장치가 있습니다.

엔터프라이즈 시스템은 현재 구성 요소 간의 통신을 위해 다양한 메커니즘을 사용하여 ODBC, RPC, TCP/IP를 통한 독점 프로토콜이며 .NET- 구현 된 웹 서비스로 이동하고 있습니다.

임베디드 장치는 *nix의 맛을 실행하므로 최고의 상호 작용 메커니즘이 무엇인지보고 있습니다.

커뮤니케이션의 요구 사항은 다음과 같습니다.

  • TCP/IP를 통해 실행해야합니다.
  • 또한 RS-232 또는 USB를 통해 실행해야합니다.
  • 안전해야합니다 (예 : HTTPS 또는 SSL).
  • ~ 32MB의 데이터를 전송할 수 있어야합니다.

    현재 최선의 선택은 GSOAP입니다.

    So-Land에있는 사람이 다른 제안이 있습니까?

    편집하다: 스티븐의 대답은 나에게 가장 새로운 포인터를 주었다. 모두에게 감사합니다!

  • 도움이 되었습니까?

    해결책

    RESTFUL Services를 사용하여 HTTPS 사용 (정의별로 TCP/IP를 사용) 및 모든 양의 데이터를 전송할 수 있습니다.

    비누에 대한 휴식의 장점은 휴식이 더 간단하다는 것입니다. 더 간단한 XML 대신 JSON을 사용할 수 있습니다.

    비누 프로토콜보다 오버 헤드가 적습니다.

    다른 팁

    TCP를 통해 SSL을 사용할 수 없습니까?

    당신이 어떤 종류의 *nix를 가지고 있다면 (Qnx 또는 내장 된 Linux라고 추측 할 수 있습니까?) 이더넷, USB 및 RS232를 통해 상자에서 거의 작동해야합니다. 간단하게 유지하십시오.

    32MB는이 작업에 대한 많은 메모리입니다. 네트워킹 및 암호화 (코드 + 데이터)에 2MB와 4MB의 메모리를 할당합니다.

    왜 이것을 비누와 같은 원격 배치 용실 프로토콜에 묶고 싶은지는 확실하지 않습니다. 언급하지 않은 다른 요구 사항이 있습니까?

    그러나 일반적으로 이러한 종류의 일은 일반적인 웹 기반 서비스를 사용하여 매우 쉽게 처리됩니다. C로 작성된 매우 가벼운 HTTP 프로세서를 얻을 수 있습니다. 이 Wikipedia 기사를 참조하십시오 다수의 비교를 위해. 그러면 REST 인터페이스가 잘 작동합니다. USB를 TCP 연결로 취급하는 네트워크 인터페이스도 있습니다.

    RS232를 넘어서야한다면 다른 곳을보고 싶을 수도 있습니다. 이 경우 SFTP와 같은 것이 더 나을 수 있습니다. 또는 암호화 된 연결을 통해 실행할 수있는 간단한 응용 프로그램 계층 프로토콜을 작성하십시오.

    RS232를 사용하여 응용 프로그램을 연결하려는 경우 PPP를 사용하여 장치를 인터넷에 연결한다고 가정합니다. 그러나 전송을 제안하는 데이터의 양은 다소 걱정 스럽습니다. 대부분의 RS232 연결은 115200 BAUD로 제한되어 있으며, 이는 TCP/IP/PPP 프레임에 필요한 오버 헤드를 무시하면 초당 최대 11,000 바이트의 전송 속도를 산출 할 것입니다. 이는 의도 한 전송을하기 위해 최소 약 2800 초 또는 46 분이 걸릴 것임을 의미합니다.

    라이센스 : CC-BY-SA ~와 함께 속성
    제휴하지 않습니다 StackOverflow
    scroll top