wysyłam dane w taki oto sposób:
idUDPClient1.Broadcast('lol',idUDPClient1.Port);
właściwości komponentu mam ustawione:
broadcastenabled:true
port:8090
receivetimeout:0
reszta bez zmian
procedura odczytująca na serwerze wygląda tak:
procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
s: String;
begin
DataStringStream := TStringStream.Create('');
try
DataStringStream.CopyFrom(AData, AData.Size);
UDPMemo.Lines.Add('Received "' + DataStringStream.DataString + '" from ' + ABinding.PeerIP + ' on port ' + IntToStr(ABinding.PeerPort));
s := 'Replied from ' + UDPServer.LocalName + ' to "' + DataStringStream.DataString + '"';
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));
finally
DataStringStream.Free;
end;
end;
właściwości ustawione tak:
broadcastenabled:true
port:8090
reszta bez zmian
gdy wysyłam wiadomość linijką na zamej górze to ona nie dochodzi, co jest źle ? Dodam, że sampel pochodzi z Demosów Indy