Wie kann mein programmiertes Tool mit einer anderen Instanz weltweit kommunizieren?

5 Antworten

zentraler Ansatz mit Server (dafür gibt es fertige Frameworks im Apache-Umfeld, zB Tomcat), HTTP-Protokoll für REST-Service Kommunikation. Aber das ist nur ein Ansatz. Entscheidend ist die Verfügbarkeit (garantiert rund um die Uhr?), die Sicherheit (Datenschutz der Teilnehmer, Schutz des Backend durch DMZ). Sprachen sind unterschiedlich - je weiter hinten desto Java, je weiter vorn desto Skriptsprache.


EinNachtfuchs 
Beitragsersteller
 01.06.2020, 20:16

Danke für die Antwort. Lese mich grade mit dem Stickwort Sockets in Python ein. Das erscheint mir die beste Art.

0

Am einfachsten ist ein zentraler Ansatz mit Server, Kommunikation über IP, der Server repliziert an die angemeldeten Client.

Dezentral (zumindest für Deine Inseln) kannst Du Multicast auf IP-Basis nehmen.

Allerdings wirst Du dafür ein geeignetes Protokoll entwickeln müssen, oder auf Protokolle für mcast zurückgreifen müssen, die die üblichen Probleme wie Zusicherung der Zustellung lösen.

Da brauchst du halt z.B. einen Server, an dem sich alle Anwendungen anmelden und dann mit den benötigten Informationen versorgt werden.

Das geht in vielen Sprachen.

Woher ich das weiß:Berufserfahrung – Softwareentwicklerin

EinNachtfuchs 
Beitragsersteller
 01.06.2020, 19:37

Sach bloß.. Welches Protkoll, welche Programmiersprache, wie ist die herangehensweise?

0
Lamanini  01.06.2020, 19:39
@EinNachtfuchs

Das ist ja das lustige. Das kannst du dir aussuchen. Protokoll kannst du dir wenn du willst sogar selber ausdenken, aber HTTP-Requests sind sehr beliebt.

Und APIs können in sehr vielen Programmiersprachen erstellt werden. C#, Python, PHP, Java...

3
verreisterNutzer  02.06.2020, 12:02
@EinNachtfuchs

Wenn du schon so fragst, dann such dir lieber einen Entwickler als Geschäftspartner, der das umsetzen kann.

0

Moin,

im Grunde würde schon ein FTP Server reichen - andere Teilnehmer warten dann auf ihren Zugriff.

Wäre z.B. über C# realisierbar.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting

Es gibt 2 grundlegende Ansätze:

  1. Zentral - so wie z.B. Whatsapp... Du hast einen (oder mehrere zur Redundanz) Server, der immer erreicht werden muss und der verteilt dann die Informationen entsprechend den "Gruppen"
  2. Dezentral - du nutzt ein Peer-to-Peer System. Das wäre wohl der elegante Ansatz. In der Richtung gäbe es zum Beispiel Bittorrent-Protokoll, oder du kannst schauen, wie das Syncthing (Peer-to-Peer Dateisynchronisation) macht. Relay-Server können eingesetzt werden, um Umgang mit Firewalls offenen Ports zu vereinfachen...