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()을 참고합니다.
매개변수
| 이름 | 설명 |
|---|---|
command | UTF-16 JSON 명령 객체입니다. UTF-8로 변환됩니다. |
반환값
UTF-16으로 변환한 응답 {"ok":true,"result":...}입니다.
참고
- 예외
std::runtime_error: 명령이 실패하면what()은 UTF-8 오류 응답{"error":"...","ok":false}이고, 라이브러리 호출 자체가 실패하면 고정된 텍스트입니다.