Client/Client Kommunikation ohne Server

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Client/Client Kommunikation ohne Server

    Halli Hallo,

    ich habe mal wieder eine sehr spezielle Frage. Und zwar möchte ich gerne, dass zwei (oder mehrere) verschiedene iPhones miteinander über eine App kommunizieren, die nicht im gleichen Netz sind. Das ganze möchte ich ohne einen Server lösen. Gibt es überhaupt die Möglichkeit NUR über eine IP-Adresse oder ähnliches der jeweiligen Geräte Nachrichten zu verschicken? Es müssten sich alle Teilnehmer an einem Ort treffen und quasi einen Hand-Shake mit der App machen, wodurch sie ihre IP-Adresse oder ähnliches miteinander teilen. Danach können die sich wieder trennen und die App würde über das Internet die Verbindung aufrecht halten. So ein Handshake würde ich gerne mit nearby lösen: developers.google.com/nearby/

    Ich hoffe die Frage ist nicht ganz so blöd gestellt.


    Ich danke schon mal im Voraus! :)

    Onur
  • Das geht sogar noch einfacher. Ich hab das mal vor ner ganzen Weile gelöst. Also wenn zwei Teilnehmer in einem Raum sind bzw. bis so 30m Entfernung. Geht über Bluetooth und ist übelst einfach zu benutzen. Wird von Apple angeboten aber irgendwie nicht groß beworben.

    Link: developer.apple.com/documentation/multipeerconnectivity

    Gibt irgendwo auch noch Sample Code dazu.

    Weiß halt nur nicht, ob du eine größere Reichweite brauchst.
  • Naja, einen "server" brauchst du immer. ob der dann auf jedem iphone in der app läuft oder auf einem zentralen rechner ist dann der große unterschied.
    Einen solchen server auf einem endgerät zu erreichen ist dann aber extrem schwierigweil du A) seine adresse nicht kennst und weil B) firewalls und NATs dazwischen sind (vor allem bei Geräten im Mobilfunknetz).

    Deswegen macht man sowas meist mit einem zentralen server.
    Verwendet man ende-zu-ende-verschlüsselung kann der zentrale server gar nichts mitlesen und verteilt einfach nur die datenpakete.