TsgcWSPClient_WAMP › 메서드 › WriteData
미리 빌드된 텍스트 또는 바이너리 WAMP 프레임을 기본 WebSocket 전송을 통해 직접 전송합니다.
procedure WriteData(const aText: String);
| Name | Type | 설명 |
|---|---|---|
aText | const String | 즉시 전송 가능한 WAMP JSON 텍스트 프레임(예: CALL의 경우 [2,"id","proc"]). WebSocket 텍스트 프레임으로 그대로 전송됩니다. |
상위 수준 API(Call, Subscribe, Publish 등)가 노출하지 않는 실험적 또는 서버별 WAMP 메시지를 발행하기 위한 저수준 탈출구입니다. 텍스트는 그대로 기록되므로 호출자가 올바른 형식의 WAMP 배열 페이로드를 생성할 책임이 있습니다. 잘못 사용하면 세션이 비동기화되거나 서버가 클라이언트의 연결을 끊을 수 있습니다.
// send a hand-crafted WAMP PREFIX frame
WAMP.WriteData('[1,"calc","http://example.com/simple/calc#"]');
procedure WriteData(aStream: TStream; aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);
| Name | Type | 설명 |
|---|---|---|
aStream | TStream | 바이트가 바이너리 WebSocket 프레임으로 전송되는 소스 스트림입니다. 현재 위치가 존중되며 스트림은 순방향으로 읽힙니다. |
aSize | Integer | 현재 위치에서 보낼 바이트 수입니다. 현재 위치에서 스트림의 끝까지 전송하려면 0을 전달하십시오. |
aStreaming | const TwsStreaming | 조각화 모드: stmNone은 페이로드를 단일 프레임으로 보냅니다. stmStart, stmContinue 및 stmEnd는 페이로드가 청크로 분할될 때 WebSocket continuation 프레임을 방출합니다. |
텍스트 오버로드의 바이너리 대응입니다. WAMP v1은 JSON-over-text 프로토콜이므로 이 형식은 표준 RPC/PubSub 트래픽보다는 동반 페이로드(예: 직접 만든 ping 프레임, 대역 외 파일 전송 또는 실험적 확장)를 위한 것입니다. 모든 WAMP 부기를 우회합니다. 이 방식으로 전송된 데이터에 대해서는 OnCallResult, OnCallError 또는 OnEvent 연관이 수행되지 않습니다.
var
oStream: TFileStream;
begin
oStream := TFileStream.Create('payload.bin', fmOpenRead);
try
WAMP.WriteData(oStream);
finally
oStream.Free;
end;
end;