[教程]ICS SslWebSocketCli 组件实现的一处问题修复

在函数 TSslWebSocketCli.TriggerBeforeHeaderSend 的定义中, B 定义成了 String,需要改为 AnsiString,同样内部循环赋值也需要改下:

procedure TSslWebSocketCli.TriggerBeforeHeaderSend(const Method : String; Headers : TStrings);
var
    i: Integer;
    s: String;
    FoundGET: Boolean;
    B: AnsiString;//String->AnsiString
begin
...
    Randomize;
    SetLength(B, 16);
    for i := 1 to Length(B) do
        B[i] := AnsiChar(Random(256));//Char->AnsiChar
    ClientKey := Base64Encode(B);
...

实际上用 TBytes 更好一些。

【后续】发邮件给官方,官方 SVN 已经修改为 TBytes,查看

滚动至顶部