TsgcWSPClient_WAMPMethods › WriteData

WriteData 方法

通过底层 WebSocket 传输直接发送预构建的文本或二进制 WAMP 帧。

重载

重载 1

语法

procedure WriteData(const aText: String);

参数

名称类型描述
aTextconst String准备发送的 WAMP JSON 文本帧(例如,CALL 对应的 [2,"id","proc"])。以原样作为 WebSocket 文本帧传输。

备注

用于发送高级 API(CallSubscribePublish 等)未公开的实验性或服务器特定 WAMP 消息的低级转义通道。文本将原样写入,因此调用方负责生成格式正确的 WAMP 数组有效负载。误用可能导致会话不同步或服务器断开客户端连接。

示例


// send a hand-crafted WAMP PREFIX frame
WAMP.WriteData('[1,"calc","http://example.com/simple/calc#"]');

重载 2

语法

procedure WriteData(aStream: TStream; aSize: Integer = 0; const aStreaming: TwsStreaming = stmNone);

参数

名称类型描述
aStreamTStream以二进制 WebSocket 帧形式发送字节的源流。当前位置被遵守,流向前读取。
aSizeInteger从当前位置开始发送的字节数。传 0 表示从当前位置发送到流末尾。
aStreamingconst TwsStreaming分片模式:stmNone 将有效载荷作为单帧发送;stmStartstmContinuestmEnd 在有效载荷分块时发出 WebSocket 续帧。

备注

文本重载的二进制伴随形式。WAMP v1 是基于文本的 JSON 协议,因此此形式旨在用于伴随负载(例如手工 ping 帧、带外文件传输或实验性扩展),而非标准的 RPC/PubSub 流量。绕过所有 WAMP 记账,以此方式发送的数据不进行 OnCallResultOnCallErrorOnEvent 关联。

示例


var
  oStream: TFileStream;
begin
  oStream := TFileStream.Create('payload.bin', fmOpenRead);
  try
    WAMP.WriteData(oStream);
  finally
    oStream.Free;
  end;
end;

返回方法