AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi UDP- Broadcasts (Fortsetzung von Ports checken)
Thema durchsuchen
Ansicht
Themen-Optionen

UDP- Broadcasts (Fortsetzung von Ports checken)

Ein Thema von S - tefano · begonnen am 25. Dez 2002
Antwort Antwort
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#1

UDP- Broadcasts (Fortsetzung von Ports checken)

  Alt 25. Dez 2002, 15:06
Hi,

so, hab so ca nen Drittel vom geplanten Zeugs fertig.
Jetz stehe ich vor einem Problem.
-----------------------------
Vorgeschichte, wies zu dem Problem kommt und so
-----------------------------
Undzwar habe ich 2 ExeDateien, die eine is nur zum Chatten da, und die andere meldet den User an, verarbeitet Requests und verschickt welche.
So, das User anmelden hab ich zuerst so geregelt, dass das Programm in einem Verzeichnis (im Netzwerk verfügbar, alle Programm benutzen das gleiche) ne Datei ablegt, wo IP und sowas drinsteht.
Is aber irgendwann zu kompliziert und umständlich geworden, da is mir das mit dem UDP- Broadcast eingefallen. Is ja irgendwie eleganter.
Das Programm Broadcastet also den Nickname und die IP des Rechners, der sich als online einträgt. Jeder Rechner, der das Empfängt trägt den Nickname und die IP des Broadcasters in ne Liste ein, und beantwortet diesen Broadcast mit den eigenen Daten (also Nick und IP), sodass der sich anmeldende Rechner direkt die komplette Userliste zugeschickt bekommt.
Ich benutze die IndyKomponenten, und hab da bislang kein Broadcast- Tutorial gefunden.
Da is allerdings ein Beispiel, was per UDP eine Message an eine spezielle IP schickt, und mit ReceivedString nach dem Verschicken melden kann, ob die Message angekommen is - weil der Empfänger sone reply- Methode benutzt, indem er abindings.sendto aufruft.
Und diese Empfangsmethode is ja immer die selbe, ob Broadcast oder spezielle IP.
Jetz kann ich ja allerdings nicht mehrere replies per Bindings empfangen, oder? Wenn jetzt z.B. 16 Rechner antworten würden, dann würde ich über ReceiveString doch nur einen bekommen, oder?
Davon geh ich einfach mal aus. So gesehen müsste dann jedes antwortende Programm ne neue eigene Message erstellen und an mich abschicken - is ja kein Problem.
-------------------------------
So, das war die Vorgeschichte.
-------------------------------
Jetz frag ich mich aber, wie dieses OnUDPRead- Ereignis funktioniert.
Wenn ich ja meine Daten Broadcaste, antworten die anderen Rechner ja ziemlich gleichzeitig. Wie geht das Event damit um? Sucht es sich einen raus, und die anderen lässt es weg, oder werden alle Antworten nacheinander durch Events abgearbeitet?
Wenn ich in der Hilfe dazu was überlesen hab, sorry... mein Fehler.

Trotzdem, über Antworten würd ich mich freuen,

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  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 20:54 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