Entwickler-Ecke

Internet / Netzwerk - Problem mit der UDP.Broadcast suche


STS301 - Fr 04.04.08 12:02
Titel: 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-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


STS301 - Fr 04.04.08 16:47

habe es jetzt geschafft

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


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??