AGB  ·  Datenschutz  ·  Impressum  







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

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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 09:53
Ja, mit einem UDP-Broadcast, den die Anwendung selber immer wieder versendet mit der Information "Was bin ich" (Service-Typ), "Wo bin ich" (IP + Port).

Also nicht suchen, sondern darauf lauschen, wer "Hier bin ich" schreit
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#2

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 10:07
Der Oberbegriff dazu ist Zero Configuration Networking. Der englische Artikel dazu ist noch besser. Das Bonjour Protokoll von Apple ist eine Möglichkeit dies zu realisieren. Es ist auch immer die Frage der Portabilität. Soll es nur auf Windows funktionieren oder auch auf Mac. Was passiert mit der Firewall, müssen Ports explizit geöffnet werden?

Du kannst z.B. mit Pipes arbeiten. Komponente. Beispiel findest du hier: http://stackoverflow.com/a/512796
Alternative Implementierung in einer Komponente (eleganter): http://www.cromis.net/blog/downloads/cromis-ipc/
Sebastian
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 12:58
Hallo zusammen,
zunächsteinmal ganz, ganz herzlichen Dank für die Antworten - das Wetter ist so schäußlich, da kann man 'ne Menge lesen...
Ich denke, ich werde das Ganze mit UDP-Broadcasts realisieren.
Dazu noch eine Frage: bisher habe ich die Nachrichten via TCP gesendet - spricht etwas dagegen, die via UDP zu senden, dann brauche ich nicht jeweils einen Server und Client fü TCP und UDP?
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

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

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 13:03
hallo,

UDP gewährleistet nicht, dass die Nachricht auf der anderen Seite auch ankommt. Also die eigentliche Kommunikation würde ich weiterhin über TCP abwickeln.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 13:04
Dazu noch eine Frage: bisher habe ich die Nachrichten via TCP gesendet - spricht etwas dagegen, die via UDP zu senden, dann brauche ich nicht jeweils einen Server und Client fü TCP und UDP?
Das kommt nur drarauf an ob die Datenübertragung sicher sein muss (sicher in dem Sinne dass alle Pakete ankommen).
Chris
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: instanz des eigenen Programms im Netzwerk finden?

  Alt 9. Feb 2016, 13:09
.. wie verhält es sich denn mit Zero Configuration Networking und der Windows Firewall.
Die blockiert sowas doch in der Regel und muss dann vom Anwender freigeschaltet werden.
Oder irre ich micht hier?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#7

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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#8

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
Benutzerbild von frankyboy1974
frankyboy1974

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

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
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 06:17 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