Autor Beitrag
STS301
Hält's aus hier
Beiträge: 9


Delphi 2007 WIN 32 und Lazarus 0.9.25
BeitragVerfasst: Fr 04.04.08 12:02 
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
ausblenden 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); //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;

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

_________________
mfg Sebastian
STS301 Threadstarter
Hält's aus hier
Beiträge: 9


Delphi 2007 WIN 32 und Lazarus 0.9.25
BeitragVerfasst: Fr 04.04.08 16:47 
habe es jetzt geschafft

Frage: kann man mit einem UDP Client 2 mal die Aktion ausführen??

ausblenden Delphi-Quelltext
1:
2:
client.broadcast(Text, Port);
client.broadcast(edit1.text, Port);


weil bei mir spuckt er dann eine Fehlermeldung aus
wie bekommt man eine TCaption in einen String??

_________________
mfg Sebastian