AS
Size: a a a
AS
G
AS
S
G
S
G
S
G
S
S
DB
G
SB
object IdUDPServer: TIdUDPServer
BufferSize = 32768
Bindings = <>
DefaultPort = 5000
OnUDPRead = IdUDPServerUDPRead
ThreadedEvent = True
Left = 128
Top = 212
end
SB
procedure TMultiLineForm.IdUDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
BytesCount: Integer;
UDPPacket: TUDPPacketRec;
begin
try
BytesCount := AData.Size;
if BytesCount > 0 then
begin
SetLength(UDPPacket.Data, BytesCount);
AData.ReadBuffer(UDPPacket.Data[1], BytesCount);
UDPPacket.PeerIP := ABinding.PeerIP;
UDPPacket.PeerPort := ABinding.PeerPort;
UDPPacket.LocalIP := ABinding.IP;
UDPPacket.LocalPort := ABinding.Port;
//UDPPacket.Channel := '';
FUdpPacketQueueRx.Push(UDPPacket);
end;
except
//Inc(CommStats.RxErrors);
_LogError('IdUDPServerUDPRead(): ' + GetExceptionMessage());
end;
end;
SB
S
S
procedure TMultiLineForm.IdUDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
BytesCount: Integer;
UDPPacket: TUDPPacketRec;
begin
try
BytesCount := AData.Size;
if BytesCount > 0 then
begin
SetLength(UDPPacket.Data, BytesCount);
AData.ReadBuffer(UDPPacket.Data[1], BytesCount);
UDPPacket.PeerIP := ABinding.PeerIP;
UDPPacket.PeerPort := ABinding.PeerPort;
UDPPacket.LocalIP := ABinding.IP;
UDPPacket.LocalPort := ABinding.Port;
//UDPPacket.Channel := '';
FUdpPacketQueueRx.Push(UDPPacket);
end;
except
//Inc(CommStats.RxErrors);
_LogError('IdUDPServerUDPRead(): ' + GetExceptionMessage());
end;
end;