2016-11-10 2 views
0

웹 기반 프론트 엔드와 C++ 백엔드로 구성된 응용 프로그램을 만들고 있는데 다음과 같은 요구 사항이 있습니다. 1) Apache 또는 유사한 소프트웨어와 같은 웹 서버 설치가 있어서는 안됩니다. 2) 프론트 엔드 UI는 특정 측정을 수행하기 위해 백엔드를 트리거 할 수 있어야합니다. 3) 측정 결과를 계산 한 후 백엔드는 값을 프런트 엔드에 반환하여 WEB UI에 표시해야합니다.WEB UI 프론트 엔드와 C++ 백엔드 간의 통신?

저는 네트워크 프로그래밍에있어서 매우 새로운 것이므로 연구를했고 설치 한 웹 서버가 없으면 boost 또는 poco와 같은 관련 라이브러리로 C++로 구현 된 http 서버로 대체 될 수 있음을 발견했습니다. 그러나 프런트 엔드와 백엔드가 서로 통신 할 수있는 방법/방식이 많이 혼란 스럽습니다. 나는 C++이 단순하고 웹 소켓을 만들 수 있다는 것을 알고있다. 위의 기능에 대해 간단한 소켓이 작업을 수행 할 것인지 웹 소켓을 사용해야 할 것인지 묻고 싶습니다. html 프론트 엔드가 C++ 백엔드와 통신 할 수있는 방법으로 백 소켓에서 프론트 엔드로 데이터를 전송하기에 충분한 소켓이 있다면? 가장 안정적이고 효율적인 방법이라고 생각하십니까?

+0

방법 저는 현재 C++로 작성된 HTTP 서버를 사용하고 있습니다. 갈 길입니다. 그러나 실시간 및 간단한 HTTP 호출이 필요하지 않은 경우 Ajax를 사용하여이 작업을 수행 할 수 있습니다. – Turrican

+0

Websockets는 소켓의 유형이 아닌 프로토콜 이름입니다 (HTTP가 프로토콜 이름과 유사 함). – Myst

답변

0

웹 브라우저와 통신하려면 웹 브라우저가 지원하는 기능을 사용해야합니다. "간단한 소켓"은 브라우저에 존재하는 것이 아닙니다.

대부분의 웹 응용 프로그램은 대부분의 상호 작용을 위해 간단한 HTTP 요청 (소위 "AJAX")을 "REST"인터페이스에 사용하고 라이브 변경 사항 또는 대역폭에 "가입"할 수있는 기능이 필요한 웹 소켓 단절에 대한 복원력보다 효율성이 중요합니다.

브라우저는 (일반적으로) 자바 스크립트를 지원하고, 프런트 엔드 및 백 엔드 사이에 통신이 기본적으로 트랜잭션 것을 기억 (메시지 처리에 반대 즉, 요청 - 응답을.)

관련 문제