我有一台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