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-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TForm1.aktualClick(Sender: TObject); begin IdUDPClient1.Broadcast(idIPWatch1.CurrentIP, 10029); end;
procedure TForm1.userverUDPRead(Sender: TObject; AData: TBytes; 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; 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; |
der Server mit Port 10030 ist bei Broadcast auf "false"
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