콘텐츠로 이동
무료 평가 시작

pdcomm::modbus::MfcEndpoint

클래스

CString JSON 명령을 실행하는 Modbus 엔드포인트(endpoint)입니다.

class MfcEndpoint

생성하면 기본 구성으로 연결되지 않은 엔드포인트를 만들며, 라이브러리가 엔드포인트를 만들 수 없으면 std::runtime_error를 던집니다. 객체는 이동할 수 있지만 복사할 수는 없습니다.

MFC 소비자 예제(examples/modbus-mfc/main.cpp)에서 발췌:

pdcomm::modbus::MfcEndpoint endpoint;
const auto reply =
    endpoint.Call(L"{\"action\":\"execute\",\"pdu\":[6,0,0,0,9]}");
if (reply.Find(L"\"response\":[6,0,0,0,9]") < 0)
  return 1;

참고

  • 어댑터는 스레드를 만들지 않으며 창을 건드리지 않습니다. 클라이언트 request 또는 connect는 응답, 연결 또는 구성된 타임아웃까지 호출 스레드를 블로킹하므로, 애플리케이션이 소유한 워커 스레드에서 실행하고 결과를 UI 스레드에 게시(post)합니다. 서버나 게이트웨이는 그 워커가 {"action":"poll"}을 정기적으로 보내는 동안에만 요청에 응답합니다.

멤버

Call

메서드

JSON 명령 하나를 실행하고 완전한 응답을 반환합니다.

CString Call(const CString &command)

명령 집합은 pdcomm_modbus_call()을 참고합니다.

매개변수

이름설명
commandUTF-16 JSON 명령 객체입니다. UTF-8로 변환됩니다.

반환값

UTF-16으로 변환한 응답 {"ok":true,"result":...}입니다.

참고

  • 예외 std::runtime_error: 명령이 실패하면 what()은 UTF-8 오류 응답 {"error":"...","ok":false}이고, 라이브러리 호출 자체가 실패하면 고정된 텍스트입니다.