Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
iPhone: NSString über Netzwerk senden
iPhone: NSString über Netzwerk senden
Christoph_M
03.10.12
21:34
Moin,
ich bin noch recht neu in der ganzen Objektive-C und Cocoa Thematik, habe aber meine ersten Gehversuche erfolgreich gemeistert
Für die nächsten Schritte müsste ich in der Lage sein einen NSString von iOS Gerät A an iOS Gerät B zu übersenden, wobei die IP des Empfängers dem Sender bekannt ist und sich beide im selben Netz befinden.
Kann mir jemand eine Idee geben wie man das unter Cocoa Touch am geschicktesten angehen würde?
Dank schonmal für eure Denkanstöße!
Grüße,
Christoph
Hilfreich?
0
Kommentare
void
03.10.12
21:58
Guck dir am besten mal dieses Beispielprojekt von Apple zum Thema Bonjour an.
http://developer.apple.com/library/ios/#samplecode/BonjourWeb/Introduction/Intro.html
Bonjour hat den Vorteil, dass es auch über Bluetooth läuft, wodurch die Zeroconf-Vorteile erst richtig nutzbar werden. Der Verbindungsaufbau BT zu BT ist natürlich viel einfacher als über WLAN. Allerdings geht Bonjour über Bluetooth seit iOS 5 nur noch über low-level APIs...
„Developer of the Day 11. Februar 2013“
Hilfreich?
0
Christoph_M
04.10.12
00:08
Hi void,
vielen Dank für den Hinweis auf Bonjour.
Ich glaub ich hab mich vorhin ungenau ausgedrückt: mit "im selben Netz" meinte ich, dass sie notwendiger weise im gleichen LAN sind. Das gleiche Netz kann auch das Internet sein, allerdings sind die beiden Geräte A und B direkt adressierbar, d.h. keiner sitzt hinter einem Router.
Im Endeffekt möchte ich (wahrscheinlich) über NSInput/outputStream Nachrichten verschicken.
Aber ein einfaches "ich mach da mal nen Port auf und hör drauf" wie damals (tm) unter Delphi scheint wohl nicht zu gehen.. oder doch?
Hilfreich?
0
Duck Dodgers
04.10.12
08:01
Bonjour alleine wird dir nicht viel Helfen! Bonjour dient nur zum Auffinden von Services und damit der Geräte im Netz. Bonjour selber ist nicht zum Übertragen von Daten gedacht.
Ansonsten, warum sollte das nicht gehen? Du hast da viele Möglichkeiten: z.B: NSConnection. Oder du nimmst nen fertiges Framework wie z.B. AsyncSocket:
https://github.com/robbiehanson/CocoaAsyncSocket
Hilfreich?
0
mar121y
04.10.12
08:19
ich habe seit Kurzem ein Problem mit dem Downloaden von Dateien über das 3G-Netzwerk auf dem iPhone .
Hilfreich?
0
Duck Dodgers
04.10.12
08:36
@mar121y
Und ich habe seit Heute das Problem, dass mein Wasser leer ist
Ich glaube du bist im falschen Thread
Hilfreich?
0
void
04.10.12
09:25
Doch Bonjour ist genau der richtige Einstiegspunkt. Die Schwierigkeit ist nämlich das Auffinden von Geräten. Sobald du diese einmal hast, ist der Rest super einfach:
Du besorgst dir eine Instanz der Klasse NSNetService.
Auf Serverseite rufst du einmal "publish" auf und schon hast du ein ServerSocket. Clientseitig machst du ein "resolveWithTimeout:" und du bist verbunden.
Jetzt kannst du dir die Streams holen:
NSInputStream *in;
NSOutputStream *out;
[myNetService getInputStream:&in outputStream:&out];
„Developer of the Day 11. Februar 2013“
Hilfreich?
0
JF Sebastian
04.10.12
09:31
Hier ein weiterer Weg mit Sockets zu connecten:
Schön ist anders, aber es funktioniert. Die Seite bietet übrigens auch noch andere nette Tutorials.
Hilfreich?
0
Duck Dodgers
04.10.12
10:00
@void
Ich sagte nicht, dass Bonjour der falsche Einstiegspunkt ist! Bonjour kann aber nur zum Auffinden der Dienste genutzt werden. Bonjour hat nichts mit der Übertragung zu tun. Abgesehen davon ist Bonjour für Christoph nicht das richtige, wie er schrieb, will er Daten über bzw. im Internet austauschen. Bonjour ist erst mal nicht dafür gedacht über Netze hinaus Dienste aufzufinden. Aber nachdem er iPhones hat, die direkt adressierbar sind, kann er diese Geräte direkt ansprechen und benötigt daher auch Bonjour.
Hilfreich?
0
void
04.10.12
15:19
Duck Dodgers
wie er schrieb, will er Daten über bzw. im Internet austauschen.
nein:
Christoph_M
allerdings sind die beiden Geräte A und B direkt adressierbar, d.h. keiner sitzt hinter einem Router
Er schrieb auch, dass er gerade erst mit Cocoa anfängt, daher halte ich ein "ganzheitliches" Beispiel für sinnvoller als das herauspicken von irgendwelchen Core Foundation Socket-Details. Darum ging es mir mit dem Bonjour-Beispiel (welches eben
nicht nur
Bonjour enthält)
.
„Developer of the Day 11. Februar 2013“
Hilfreich?
0
Duck Dodgers
04.10.12
15:28
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Interview: Größte private Mac-Sammlung
Mac mini: Kontroverse Position des Einschalters...
Mac mini M4: Reparaturhandbuch bestätigt austau...
M4 Mac mini im Effizienztest: Hohe Ersparnis im...
20 Jahre Mac mini
Facebook & Instagram: Zuckerberg kündigt Aus de...
iPad Pro M4: Hinweise auf geringere Nachfrage
Mac mini mit M4