使用Delphi中的Indy通过UDP读取GPS数据

时间:2018-04-12 17:55:29

标签: delphi gps indy indy10 delphi-10.1-berlin

我有一台GPS设备通过UDP向我的IP发送数据。

这是我读UDP端口的方式:

procedure TForm3.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
  msg := BytesToString(AData);
  Memo1.Lines.Add('gps: '+msg);
end;

我得到了活动,但我看到的只是这样的数据:

gps: 
gps: 
gps: 

更新

我使用IP*Works中的ipwUDPPort组件进行了一些测试。相同的行为 - 我看到的只是一个空白区域:

procedure TFormUdpecho.UDPPort1DataIn(Sender: TObject; Datagram: String;
  const SourceAddress: String; SourcePort: Integer);
begin
    lTrack.Items.Add(SourceAddress + ':' + Datagram);
end;

我和Indy做了另一次测试:

procedure TForm3.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
  msg :=  IntToStr( Length(AData) );
  Memo1.Lines.Add('gps: '+msg);
end;

结果如下:

data: 126
data: 126
data: 127
data: 127
data: 127

0 个答案:

没有答案