mfc websocket 예제

WebSocket은 클라이언트와 서버 간의 낮은 대기 시간, 양방향 통신이 필요한 응용 프로그램을 작성하는 동안 유용합니다. 이 적용 가능한 몇 가지 예로는 공동 편집 응용 프로그램, 멀티 플레이어 게임 또는 실시간 업데이트가 필요한 응용 프로그램이 있습니다. 클라이언트가 서버에 등록하여 다른 회사의 주식 시세를 모니터링하는 주식 시세 응용 프로그램을 고려하십시오. 이러한 시나리오에서 HTTP를 사용하려면 클라이언트가 업데이트를 가져오기 위해 몇 초마다 요청을 폴링해야 합니다. 또한 모든 요청 응답에는 네트워크 대역폭을 구성하는 일부 헤더가 함께 제공됩니다. 여기에서 WebSockets를 사용하면 이러한 문제가 해결됩니다. 클라이언트는 서버에 „업데이트 확인” 요청을 보낼 필요가 없습니다. 클라이언트가 다른 주식 시세를 듣고 자할 때 업데이트(양방향)에 등록할 수 있습니다. 마지막으로 websocket_client::send(websocket_outgoing_message msg) API를 호출하여 서버로 메시지를 보냅니다. 이렇게 하면 메시지가 기본 TCP 계층에 전달될 때 완료되는 작업이 반환됩니다. 그런 다음 ws, 기본 WebSocket 구현을 발견했습니다. 그래서 ws를 사용하여 간단한 웹 소켓 서버를 빌드합니다.

websocket_outgoing_message::set_utf8_message API(문자열 및 스트림 오버로드 모두)를 사용하여 문자 메시지를 생성할 수 있습니다. 참고: C++ REST SDK는 데이터가 실제로 UTF-8 인코딩되었는지 여부를 검증하지 않습니다. websocket_client:send() 및 websocket_client:receive() API를 메시지 송수신에 사용할 수 있습니다. 라이브러리는 텍스트 메시지와 이진 메시지를 모두 지원합니다. websocket_client(U(„ws://websocket_server_url”)); Websocket 프로토콜을 다루면서 인코딩/디코딩 부분은 별도의 구현이라는 것을 이해해야 합니다. 페이로드가 헤더 정보와 함께 프레임에 캡슐화되어 네트워크로 전송되는 방법을 자세히 설명합니다. 그러나 페이로드가 „인코딩”되는 방법을 부과하지는 않습니다. 따라서 웹 소켓과 실제로 관련이있는 방법은 프레임아웃고이 패킷 및 tryDeframeIncomingPacket입니다. 이 예제에서는 인코딩 단계에서 큰 작업을 수행하지 않습니다. 예를 들어 개발자는 JSON 레이어를 추가하여 이를 수정하는 것이 적합할 수 있습니다.

websocket_client::connect() API는 이 핸드셰이크를 처리합니다. 연결이 설정될 때 완료되는 작업을 반환합니다: WebSocket 클라이언트 구현은 웹::실험::web_socket::클라이언트 네임스페이스 C++ REST SDK입니다.

Posted in Bez kategorii