Thema: Delphi broadcast...

Einzelnen Beitrag anzeigen

Benutzerbild von The Madcat
The Madcat

Registriert seit: 19. Jun 2006
Ort: Sonsbeck
27 Beiträge
 
#1

broadcast...

  Alt 6. Jul 2006, 23:26
obwohl ich einige Threads zum thema broadcast gelesen hab konnte ich keine antwort auf meine frage finden ... deswegen folgendes:

ich bastel gerade an einen prog das unter anderem chat über udp beinhalten soll und bis jetzt hat auch alles geklappt, bis auf broadcast ...

vereinfacht lässt sich sagen:

auf der serverseite gibt es eine IdUDPServer-Komponente, die den Defaultort 11111 hat und in deren chatUDPRead-Event steht:

Delphi-Quellcode:
procedure TForm1.chatUDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  daten : TStringStream;
begin
  daten := TStringStream.Create('');
  try
    daten.CopyFrom(AData, AData.Size);
    chat.Broadcast(daten.DataString,11110);
  finally
    memo1.Lines.Add(daten.DataString);
    daten.Free
  end;
end;
auf der clientseite gibt es eine IdUDPClient-Komponente, die Port 11110 hat und im OnClick-Event des Senden-Buttons steht:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  temp : string;
begin
  if sActive = True then
  begin
    temp := chat.LocalName + ': ' + Edit1.Text;
    try
      chat.Send(Combobox1.Text, 11111, temp);
      temp := '';
    finally
      temp := chat.ReceiveString(2000);
    end;

    if temp <> 'then
      memo1.Lines.Add(temp)
    else
      memo1.Lines.Add(chat.LocalName + ': Fehler beim Senden');
  end
  else
    ShowMessage('Keine Verbindung');
end;
also es sollte passieren, dass der client über port 11111 die nachricht an den server schickt und der die über port 11110 an alle clients sendet, die diese dann wiederum im memo anzeigen. Entweder hab ich was grundlegend falsch verstanden, oder WAS WEIß ICH ...

zur Entwirrung, ja die Server- und die Client-Komponenten heißen chat^^
Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...
  Mit Zitat antworten Zitat