![]() |
broadcast...
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:
auf der clientseite gibt es eine IdUDPClient-Komponente, die Port 11110 hat und im OnClick-Event des Senden-Buttons steht:
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;
Delphi-Quellcode:
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 ...
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; zur Entwirrung, ja die Server- und die Client-Komponenten heißen chat^^ |
Re: broadcast...
Schau dir doch mal die
![]() |
Re: broadcast...
habe die komponente benutzt und alles funktioniert wunderbar^^
|
Re: broadcast...
Da muss ich sagen, ist es bei mir leider nicht so :(
Alles funzt soweit, jedenfalls auf XP, nur Broadcast nicht:
Delphi-Quellcode:
MfG
procedure Tfrm...
var msg : Byte; begin msg := 0; // Ping // Weder so: udpSocket.RemoteHost := '255.255.255.255'; udpSocket.SendBuf(msg, 1); // Noch so: udpSocket.BroadcastBuf(msg, 1); end; xZise |
Re: broadcast...
Darf dein Socket auch Broadcast-Messages schicken?
Gibt es Fehlermeldungen? |
Re: broadcast...
Zitat:
Zitat:
|
Re: broadcast...
Arbeitest du mit TUDPSocket?
Dann darfst du nicht sendbuf sondern nur SendTo verwenden. Und das Broadcasten musst du anscheinend mit setsockopt und dem Handle des Sockets einstellen. |
Re: broadcast...
Zitat:
Delphi-Quellcode:
udpSocket : TUdpSockUtil;
Zitat:
|
Re: broadcast...
Da hatte ich bereits drauf geklickt, aber die Komponente wahrscheinlich im Anhang. Und extra dafür einloggen will ich mich jetzt nicht.
|
Re: broadcast...
Hat sich erledigt ;) Beim Broadcast wird nicht an Localhost versendet ... Aufjedenfall funktionierts jetzt!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz