AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke instanz des eigenen Programms im Netzwerk finden?

instanz des eigenen Programms im Netzwerk finden?

Ein Thema von Marco Steinebach · begonnen am 9. Feb 2016 · letzter Beitrag vom 7. Mär 2016
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 13:36
SICHER

Wenn UDP nicht für den sicheren Empfang sorgt, so kann man das natürlich auch in der nächsten OSI-Schicht nachholen, also im eigenen Protokoll eine Empfangsbestätigung, mit Rückmeldung und eventueller Neuanforderung.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
427 Beiträge
 
Delphi 5 Enterprise
 
#12

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 15:24
Hallo,
Joa, die Firewall schlägt zu, aber den Click kann man dem Anwender schon zumuten, denke ich.
Nun, ich brauche ja UDP nur für das Finden der zweiten Instanz im Netzwerk, den Rest lasse ich dann schön brav bei TCP. Dann kann ich auch, ohne weitere Programmierung, gleich darauf hinweisen, wenn's die Verbindung mal verreist...

Herzlichen Dank und viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
804 Beiträge
 
Delphi 6 Professional
 
#13

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 16:00
Hmm..

Noch ein kleiner Hinweis zu Broadcasts:
Diverse Router unterbinden Broadcasts in Ihrem Netz! Somit kann es sein, dass dein 'Hallo' ungehört im Kundennetzwerk verstummt..

Eine Server-Applikation, welche als zentrale Anlaufstelle dient hat hier den Vorteil ohne Broadcasts zu funktionieren..
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
427 Beiträge
 
Delphi 5 Enterprise
 
#14

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 16:44
Hallo,
blöööd, es wäre so schön gewesen, na ja, für den Anwendungsfall wird's ohne Server gehen, ich will, hier, nur, daß beide Instanzen die gleiche Datei laden, wenn man bei der einen den entsprechenden Menüpunkt auswählt - aber dafür muß die zweite Instanz eben erstmal gefunden werden.
Eine Frage hab ich doch noch: meine Broadcast-Nachricht kommt bei der zweiten Instanz, auf der der UDPServer läuft an, und zwar, logischerweise, im UDPRead-Event. Wie kriege ich die Ip des Clients raus, von dem der Broadcast kam? Mit
aBinding.ip
jedenfalls mal nicht.
Herzliche grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
3.918 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 16:51
Nimm doch einfach AppTethering...

Da geht das alles fast wie von selbst...


Oh Delphi 5 - Sorry hab nix gesagt...
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#16

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 19:04
hallo,

Zitat:
Wie kriege ich die Ip des Clients raus, von dem der Broadcast kam? Mit
aBinding.ip
jedenfalls mal nicht.
Notfalls gibt der Sender seine IP-Adresse in der Nachricht mit.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.314 Beiträge
 
Delphi 2006 Professional
 
#17

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 19:56
Wie so notfalls? Das Mitsenden wäre das einfachste.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
427 Beiträge
 
Delphi 5 Enterprise
 
#18

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 11. Feb 2016, 11:41
Hallo zusammen,
meine Güte, manchmal kommt man auf's einfachste nicht...
Alles schön!
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49565
248 Beiträge
 
Delphi 2009 Professional
 
#19

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 11. Feb 2016, 14:42
Ich beschäftige mich u. a. derzeit mit diesen netten Geschichte WebServices-Discovery.
Damit frage ich hier z.B. meine IP-Kameras im Netz gelegentlich mal ab.

WS-Disc. klingt/sieht vielleicht ein bischen schwierig aus - ist es aber nicht.
Im Prinzip geht das wie folgt:
Es gibt einen "Master", der viele Clienten haben kann, die er suchen kann, die sich aber auch bei ihm melden können.
Dafür gibts grundsätzlich 3 Funktionen:
- HELLO: schickt der Client, wenn er sich beim Master anmelden will.
- BYE: sendet der Client, wenn er sich verabschiedet / das Programm beendet wird / der Rechner runterfährt.
- PROBE schicht der Master in LAN - jeder Client muss mit einer PROBEMATCH antworten.

Das läuft offiziell alles via UDP mit Multicast (nur der Probematch nicht)
MC-IP ist 239.255.255.250 immer an den Port 3702 für Hello, Bye und Probe.
PROBEMATCHes gehen direkt an die IP des Servers.

Jede Message ist XML-gefüttert und führt immer (mindstens) die IP, den Port und den Typ des angefragten Clienten / des Absenders mit, bei einer PROBEMATCH-Anwort kann man bei Bedarf noch ne Menge mehr mit reinpacken wie "wer bin ich genau, was kann ich, was mach ich grade, ..."

WS-Discovery ist da relativ flexibel, und wird z.B. auch von div Netzwerkgeräten wie Druckern oder hier eben die IP-Kameras unterstützt.


Ich bastle aktuell an einer Klasse, die recht universell bei Master oder Client eingebunden werden kann/soll. Z.Zt. leider noch ein paar elementare Probs ...
Es wird eine Liste mitgeschrieben, wo alle bisher bekannten Klienten (oder auch Server) mit IP, Port, Typ, An-/Abmelde-Zeit, Status, usw. mitgeführt wird.
Damit könnte man z.B. sogar kontrollieren, wer ein/das Programm oder sonstwas wie oft und lange benutzt, ob der CLient auch wirlich "arbeitet" oder das Proggie "herum-iddled".

.... das könnte doch was für dich sein - oder ?
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
427 Beiträge
 
Delphi 5 Enterprise
 
#20

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 23. Feb 2016, 15:37
Hallo nochmal,
... den WS-Disc schau ich mir auf jedenfall an, das klingt wirklich interessant.

Noch 'ne Frage - bitte:
im Moment finde ich meine zweite Programm-Instanz schlicht dadurch, daß ich mich mit allen IP-s von ...1 bis ...255 verbinde. Kriege ich ein connect hin, frage ich nach, ob hier auch mein Programm läuft.
Das funktioniert wunderbar, dauert aber ewig - logischerweise, dabei habe ich die connectTimeOut schon auf 150 runtergesetzt.
Geht das nicht irgendwie schneller?
Ping taugt nicht recht, weil man dafür zwingend Admin-Rechte braucht, UDP habe ich verworfen...
Hat jemand noch 'ne Idee, damit ich für den Verbindungsaufbau nicht im dümmsten fall 254*150 MS warten muß?
Herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf