AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi UDP- Broadcast Nachricht versenden/Empfangen
Thema durchsuchen
Ansicht
Themen-Optionen

UDP- Broadcast Nachricht versenden/Empfangen

Ein Thema von buschmanoff · begonnen am 10. Dez 2006 · letzter Beitrag vom 11. Dez 2006
Antwort Antwort
buschmanoff

Registriert seit: 7. Dez 2006
3 Beiträge
 
#1

UDP- Broadcast Nachricht versenden/Empfangen

  Alt 10. Dez 2006, 17:09
Hallo,
ich bin komplett neu in der Netzwerk Programmierung. Ich hab schon seit ein paar Tagen versucht, mein Problem durch die Forensuche und google zu lösen, komme aber absolut nicht weiter. Keiner der Quelltexte die ich gefunden habe, hat mich nur einen Schritt weiter gebracht.
Es geht darum, dass ich per UDP-Broadcast eine Nachricht von einem Client im Netzwerk senden möchte und die dann auf dem Server erstmal anzeigen zu lassen. (wenn das geklappt hat, soll der Server dann irgendwann mal seine IP an den Client zurück senden)
Das Problem ist, dass ich nichtmal eine Nachricht per UDP-Broadcast versendet kriege. Ich holfe ihr könnt helfen.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
//erstmal server erstellen
IDUDPServer1.Active:=true;
IDUDPServer1.DefaultPort:=10025;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
//client erstellen und gleich Broadcast senden
idudpclient1.Active:=true;
idudpclient1.Port:=10025;
idudpclient1.BroadcastEnabled:=true;
idudpclient1.Broadcast('Hallo',10025);
end;



procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
var rectext:string;
begin
RecText:=Copy(BytesToString(Adata), 0, length(Adata));
application.MessageBox(Pansichar(rectext),'Test Broadcast');
end;

end.
Compiliert wird ohne fehler.
Starte ich das Programm nun auf 2 rechnern und erstelle auf einem den Server und auf dem anderen den Client (von wo auch der Broadcast gesendet wird), kommt bei dem Server aber nichts an. Wenn ich alle beide Programme wieder schliesse, kommt dann ausserdem jedes mal eine Fehlermeldung "#socket error 10004" (IdStackBSDBase) im delphi compiler (fehler kommt auch, wenn ich von der .exe gestartet hatte). Wenn ich die das Programm starte und nur einen Server erstelle und vom Client aber nichts gesendet habe, kommt keine Fehlermeldung.
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#2

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 10. Dez 2006, 17:22
ich könnte mir zwei Dinge vorstellen, einmal hatte ich schon das Problem dass die Indys Änderungen nur übernehmen wenn Sie nicht Active sind. Also setzte den Port einmal und schalte erst danach auf Active.

Das andere wäre noch dass die Firewall das verhindernt, um das zu verhindern solltest Du die exe in den erlaubten Programmen eintragen.
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 10. Dez 2006, 17:24
Also die Portzuweisungen und die Activierung des Servers und des Clients muss auf jeden Fall mal ins OnCreate. Sonst werden die Komponenten bei jedem Buttonklickt neu gestartet.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
buschmanoff

Registriert seit: 7. Dez 2006
3 Beiträge
 
#4

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 10. Dez 2006, 18:32
OK, ich habs mal getauscht und aufeinmal ging es! Naja, fast. Ich arbeite hier mit 2 rechnern. Der eine hat WinXP und der andere noch Win 98. Erstelle ich den Server auf dem XP rechner und sende den Broadcast von dem 98 rechner, erscheint tatsächlich eine messagebox auf dem XP (server) rechner. Ist der 98er der Server, kommt aber keine messagebox. Das selbe, wenn ich auf einem Rechner Server erstelle und vom gleichen Rechner auch den Broadcast sende. Bei dem XP erscheint dann auf dem selben rechner gleich die MBox und bei dem 98´er nicht. Firewalls sind auf beiden aus.
Funktioniert das bei Win 98 nicht?
Danke erstmal für die Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#5

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 10. Dez 2006, 22:52
Als Hilfe würde ich dir noch Ethereal bzw. jetzt Wireshark empfehlen. Damit kannst Du mitschneiden was auf dem Netzwerk passiert. Damit könntest Du schnell heraus finden ob der eine das Packet abschickt und der andere es empfängt.
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
buschmanoff

Registriert seit: 7. Dez 2006
3 Beiträge
 
#6

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 11. Dez 2006, 21:30
Ja kann ich mal Probieren!
Aber bleibt trotzdem noch das Problem mit dem: "Socket error 10004". Vlt. kann mir jemand sagen, wovon der kommt und evtl. einen Tipp geben, wie ich das Problem löse.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#7

Re: UDP- Broadcast Nachricht versenden/Empfangen

  Alt 11. Dez 2006, 21:33
Zitat:
WSAEINTR
(10004)
Interrupted function call.
A blocking operation was interrupted by a call to WSACancelBlockingCall.
http://www.proxifier.com/documentation/neterr.htm
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz