AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Desingnproblem bei LAN-Broadcast

Ein Thema von Brüggendiek · begonnen am 24. Aug 2004 · letzter Beitrag vom 11. Okt 2004
 
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#1

Desingnproblem bei LAN-Broadcast

  Alt 24. Aug 2004, 20:10
Hallo!

Bei dieser Frage handelt es sich nicht um ein Programmierproblem an sich, es ist eher eine Designfrage. Deshalb halte ich auch die Rubrik "Programmieren allgemein" für die Richtige. "Internet / IP / LAN" ist wohl eher für Programmier-Probleme der Bauart "Wie schreibe ich das".

Die programmiertechnische Umsetzung ist kein Problem (sollten Fragen auftreten, kann ich ja nochmal in der passenden Sparte fragen ), es geht mir um den (von der verwendeten Sprache unabhängigen) Lösungsweg bzw. das Programm-Design.


Vorgeschichte des Problems
  • 1. Wie hinreichend bekannt ist, wird eine T-DSL-Verbindung nach 24 Stunden getrennt.
  • 2. Die Software der bekannten Fritz!-Karten von AVM bieten die Möglichkeit, beim Internet-Connect ein beliebiges Programm zu starten. Die zugewiesene IP wird dabei als Parameter übergeben. Das gilt für DSL und ISDN.
  • Ein Freeware-Telefon für VoiceOverIP erweist sich als nicht T-DSL-kompatibel - nach der Zwangstrennung mag das Tele nicht mehr bimmeln. Programm beenden und neu starten ist angesagt

Der Lösungsansatz

Ein Programm schreiben, das bei Connect (also neuer IP) das Telefon sucht, beendet und neu startet.
Da bei meiner Konfiguration das Telefon nicht auf dem Rechner mit der Fritz!-Karte läuft, kommt nur eine Netzwerk-Lösung in Frage. Ein IP-Signal informiert ein Programm, daß ein Connect erfolgt ist.
Nach den ersten Überlegungen folgte die "übliche Eskalation":
  • 1. Es wäre schön, die IP für Alle verfügbar zu haben - kein Thema, schreiben wir sie in eine Datei.
  • 2. Es sollte die Art der Verbindung bekannt sein - einfach das Programm zweimal speichern (ISDN und DSL) und den Programmnamen in der Datei mitspeichern.
  • 3. Übertragen der Informationen im LAN - auch kein großes Problem.
  • 4. Es sollten mehrere Rechner informiert werden - mit UDP-Broadcast zu lösen.
  • 5. Das System soll universell einsetzbar werden.

Beim letzten Punkt tritt ein Problem auf. Wenn ich alle möglichen und denkbaren Anwendungen in ein Program stecke, züchte ich mir eine "gefiederte, eierlegende Wollmilch-Reit-Sau" - vom Speicherverbrauch der ja prinzipbedingt ständig laufenden Applikation gar nicht zu reden.
Zum UDP-Broadcast brauche ich einen Client als Sender und einen Server als Empfänger. Bei mehreren Rechnern spielt das keine Rolle - mehrere Rechner mit Empfänger auf dem gleichem UDP-Port sind möglich, das Ganze klappt bereits. Bei mehreren Programmen auf einem Rechner stoße ich allerdings auf das Problem, daß diese nicht denselben Port benutzen können - es nur 1 Server pro Port erlaubt.


Für mich bieten sich 2 Lösungswege an:

Lösung A

Da der verwendete UDP-Port sowieso einstellbar sein soll, lasse ich den Sender eben an mehrere Ports senden (wieviele soll ich vorsehen ). Der Benutzer stellt zunächst den Empfänger auf einen freien Port und gibt dann am Sender die Portnummer an.
Bei dieser Lösung gibt es dann für jede Aufgabe ein entsprechendes Empfänger-Programm, das bei eingehender Nachricht die gewünschte Funktion ausführt.

Lösung B

Es wird nur ein Port verwendet. Der Empfänger löst nicht die anstehenden Aufgaben, sondern startet per ShellExecute eine Liste von Programmen, die jeweils eine der gewünschten Aufgaben erledigen.


Um es nochmal klarzustellen: Das Senden per UDP ist bereits realisiert, Programmiertips oder Source benötige ich keinen! Es geht mir nur um Eure Meinungen, welche der beiden Lösungen ich realisieren sollte. Vielleicht hat ja jemand sogar noch eine dritte Lösung, über die wir diskutieren können - ich bin für Vorschläge offen!


Für Eure Beteiligung bedanke ich mich im Voraus,

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
 


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 14:59 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