TsgcWSPClient_WAMP › Methods › WriteData
通过底层 WebSocket 传输直接发送预构建的文本或二进制 WAMP 帧。
procedure WriteData(const aText: String);
| 名称 | 类型 | 描述 |
|---|---|---|
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);
| 名称 | 类型 | 描述 |
|---|---|---|
aStream | TStream | 以二进制 WebSocket 帧形式发送字节的源流。当前位置被遵守,流向前读取。 |
aSize | Integer | 从当前位置开始发送的字节数。传 0 表示从当前位置发送到流末尾。 |
aStreaming | const TwsStreaming | 分片模式:stmNone 将有效载荷作为单帧发送;stmStart、stmContinue 和 stmEnd 在有效载荷分块时发出 WebSocket 续帧。 |
文本重载的二进制伴随形式。WAMP v1 是基于文本的 JSON 协议,因此此形式旨在用于伴随负载(例如手工 ping 帧、带外文件传输或实验性扩展),而非标准的 RPC/PubSub 流量。绕过所有 WAMP 记账,以此方式发送的数据不进行 OnCallResult、OnCallError 或 OnEvent 关联。
var
oStream: TFileStream;
begin
oStream := TFileStream.Create('payload.bin', fmOpenRead);
try
WAMP.WriteData(oStream);
finally
oStream.Free;
end;
end;