![]() |
Problem mit der UDP.Broadcast suche
hi
ich versuche gerade mit UDP.Broadcast andere Computer, welche das Programm xy geöffnet haben über LAN ausfindig zu machen nur leider klappt es nicht wirklich. hier der Code
Delphi-Quellcode:
der Server mit Port 10030 ist bei Broadcast auf "false"
procedure TForm1.aktualClick(Sender: TObject); //die Aufrufung zum Aktualisieren
begin IdUDPClient1.Broadcast(idIPWatch1.CurrentIP, 10029); end; procedure TForm1.userverUDPRead(Sender: TObject; AData: TBytes; //Port 10029 ABinding: TIdSocketHandle); var ip, name: string; begin ip := Copy(BytesToString(Adata), 0, length(Adata)); with IdUDPClient1 do begin Host := ip; Active := true; Send(name, 10030, Form2.pcname.Text); Send(ip, 10030, IdIPWatch1.CurrentIP); Active := false; end; end; procedure TForm1.userverUDPRead(Sender: TObject; AData: TBytes; //Port 10030 ABinding: TIdSocketHandle); begin namen.Items.Add.Caption := Copy(BytesToString(Adata), 0, length(Adata)); namen.Items.Add.Subitems.Add(Copy(BytesToString(Adata), 0, length(Adata))); end; client1.port= 10030, ebenfalls auf broadcast "false" IPwatch1 der Server mit Port 10029 ist bei Broadcast auf "true" client2.port= 10029, ebenfalls auf broadcast "true" IPwatch2 alles auf Aktive= true er sollte namen und Ip in die Listview(namen) eintragen habe den Code in der DP gefunden, und bei der Person hat es auch funktioniert, nur halt bei mir nicht. Mein Hinterkopf meint es fehlt etwas, ich weiß aber nicht was. wäre dankbar für Hilfe |
Re: Problem mit der UDP.Broadcast suche
kann mir keienr helfen??
|
Re: Problem mit der UDP.Broadcast suche
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ein UDP Testprogramm, dass auch Broadcasts kann.
Einfach auf zwei Rechnern starten... |
Re: Problem mit der UDP.Broadcast suche
danke, es funktioniert wunderbar
aber ohne Source kann ich schwer sehen wo der Fehler bei mir ist |
Re: Problem mit der UDP.Broadcast suche
Zitat:
Aber du kannst jetzt prüfen, ob dein Problem bein Senden oder Empfangen liegt, wenn du das Tool und dein Programm auf den gleichen Port stellt. |
Re: Problem mit der UDP.Broadcast suche
:( wirklich nicht?? :(
schade, dass es jetzt nicht am am gleichen Port sind sie ja, nur ich weiß einfach nicht wo ich noch etwas umschreiben muss :?: |
Re: Problem mit der UDP.Broadcast suche
habe leider bis jetzt immer noch keinen brauchebaren Codehinweis gefunden.
*push* |
Re: Problem mit der UDP.Broadcast suche
Also ich finde den Sourcecode wirklich nicht; ich glaube, das Programm ist auch nicht von mir.
Du hast doch jetzt dein eigenes Programm und USUTest.exe. Dann beide auf die gleiche Portnummer einstellen. Du brauchst 2 verschiedene Recher dazu! Dann von deinem Programm einen Broadcast machen. Wird das von USUTest empfangen, ist deine Sendeseite in Ordnung. Dann von USUTest einen Broadcast senden. Wird das von deinem Programm empfangen, in deine Empfangsseite in Ordnung. Welche Seite funktioniert also bei dir nicht ? |
Re: Problem mit der UDP.Broadcast suche
Hallo,
Du verwendest in Deinem Programm die lokale Variable "name". Diese ist zum einen nicht initialisiert und zum anderen hast Du mit dem Konstrukt
Delphi-Quellcode:
vermutlich keine eindeutige Referenz auf "name", da es IdUDPClient1.name wohl auch geben wird
with IdUDPClient1 do
... MfG Klaus |
Re: Problem mit der UDP.Broadcast suche
@shmia
beim USUTest funktionieren beide Seite ohne Probleme (mit 2 Rechnern). Nur bei meinem Programm funktioniert überhaupt nichts, wie soll ich dann testen ob es am Eingang oder am Ausgang happert. @DelphiKlaus wieso sollte es eine idUDPClient1.name funktion geben?? es ist ja in der Funktion "Send" einbegriffen. das name nicht initialisiert ist, dass wird zwar nicht der Fehler sein, aber :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz