Autor Beitrag
MarkusD
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Do 14.06.07 15:25 
Moin,


also ich versuche hier gerade die IPs von Servern im Netz zu verschicken. Es handelt sich um ein Spiel, wenn man auf nen Server Connecten will, Broadcastet der seine IP und alle Server antworten dann.

Client:

IdUDPServer (Port 10026)
IdUDPClient (Port 10025, BroadcastEnabled = True)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
//Suche starten
IdUDPClient1.Broadcast(meineip, 10025);

procedure IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
begin
  ListBox1.Items.Add(Copy(BytesToString(Adata), 0, length(Adata)));
end;


Server:

IdUDPClient (Port 10026)
IdUDPServer (Port 10025, BroadcastEnabled = True)


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
var
  ip: string;
begin
  ip := Copy(BytesToString(Adata), 0, length(Adata));
  with IdUDPClient1 do
  begin
    Host := ip;
    Active := true;
    Send(ip, 10026, IdIPWatch1.CurrentIP);
    Active := false;
  end;
end;


Wenn ich jetzt die Suche starte (ich starte sie nur einmal), bekomme ich 2 Mal eine antwort.
Ich rufe IdUDPClient1.Broadcast(meineip, 10025); im Client nur einmal auf, im Server Receive ich aber 2 Mal die Message mit der Ip.

Woran kann das liegen?


Markus.
MarkusD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Do 14.06.07 15:42 
Fehler gefunden. Es lag nicht am Code sondern ich hatte mehrere Netzwerkverbinungen aktiviert.