TIdTCPClient响应的第一个字节丢失

时间:2015-12-03 14:29:34

标签: delphi indy

我使用Indy TCPClient组件在Delphi XE4中创建了一个程序,通过自定义端口将一些二进制数据发送到ESP8266模块,并读取二进制字节的响应。问题是第一个响应字节丢失了。 (通常2个字节丢失)。 ESP8266程序没有问题。这是我的Delphi代码:

var
  b: array [0..2060] of Byte;
  k: Integer;
  s: String;
begin
...
s := '';
if (not TcpCl.Connected) then TcpCl.Connect;
if (TcpCl.Connected) then
  begin
  TcpCl.IOHandler.RecvBufferSize := 100;
  for k := 0 to z - 1 do
    TcpCl.IOHandler.Write(b[k]);
  s := '';
  for k := 0 to 12 do
    s := s + IntToHex(TcpCl.IOHandler.ReadByte, 2);
  DataMem.Text := s;
  TcpCl.Disconnect;
  end;
end;

0 个答案:

没有答案