• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Datenaustausch per Internet

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
Hallo zusammen,

ich brauche mal einen Gedankenanstoß von euch. Ich habe eine Mac Applikation welche Daten empfangen soll. Als Sender soll dabei ein Webserver dienen (PHP Skript o.ä.). Kann mir jemand von euch sagen, wie ich am Besten die Nachricht (kurzer String) vom Server zum Mac transportiere.

Ich bräuchte grob Hilfe beim Zusammenstellen der Logik und mit welchen technischen Mitteln sowas realisierbar ist. Stehe da gerade voll auf dem Schlauch.

P.S: Jede Mac Applikation hat eine eindeutige ID anhand ich die App zuordnen kann.

Gruß Dackel Arnold
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Da müssen wir schon ein bisschen mehr wissen.

Meinst Du mit "Empfangen" Push? Das ist sehr schwierig. Wenn Du einfach einen simplen String holen willst, kannst Du das mit einem ganz einfachen GET machen, zum Bespiel:

Code:
NSString *myString = [NSString stringWithContentsOfURL:[NSURL URLwithString:@"http://example.com/script.php"] encoding:NSUTF8StringEncoding error:&error];
Alex
 

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
DIe Idee mit Push Notifications hatte ich schon. Mit Get ebenso. Scheidet aber beides aus. Auf einer Homepage wird ein String eingegeben, dieser soll dann direkt zu einem bestimmten Client gehen. D.h. die Clients müssten also rund um die Uhr Anfragen an den Server schicken. Ab einer gewissen Anzahl an Clients wird das problematisch.

Daher war die Idee, ob nicht irgendwie der Server senden könnte. Über Push Notifications wäre das in der Regel umsetzbar. Hatte nur gehofft das es dafür noch eine andere Lösung gibt. Ob es nun aufwendiger als Push Notifications ist, ist dabei egal.

Theoretisch kann sich der Client auch mit der IP am Server kurz anmelden. Die Frage ist nur ob ich per PHP an eine IP schicken kann (vor allem wenn der Client hinter einem Router hängt). Habe bisher nicht viel in diese Richtung programmiert, daher ist es Neuland für mich.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Naja, Du kannst einen "Hanging Poll" implementieren, ob das aber mit vielen Clients und im internet (nicht im lokalen LAN) gut funktioniert, kann ich Dir nicht sagen.

Dafür schaltest Du bei der Anfrage einfach den Timeout auf unendlich, setzt den Request ab und wartest, ob bis der Server antwortet. Was eben Stunden dauern kann. Ist aber sicher im Internet nicht ganz so sauber.

Eine ganz andere Idee wäre DNS-SD: http://www.dns-sd.org/ Damit könntest Du versuchen, die Clients wirklich auf einem Port hören zu lassen, ob etwas ankommt. Aber das funktioniert nur mit einem Teil von Routern wirklich gut, denn normale Clients sind ja immer hinter einem NAT Firewall.

Oder reden wir von einer Lösung im Firmennetz?

Alex
 

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
Nein, geht über das Internet. Es soll nur ein kurzer String mit 2 bis 3 Wörtern gesendet werden. Alternative wäre, dass der Client x Minuten warten (abhängig von der Anzahl der angemeldeten Clients) müsste und dann kurz beim Server nachfragt ob Nachrichten da sind. Sollte die Anfragen am Server deutlich reduzieren. Im Prinzip kommt es auf wenige Minuten verzögerung eigentlich auch nicht an, wäre aber schön gewesen wenn es relativ schnell geht.

Ich muss irgendwann mal Push testen, dazu müsste ich aber weg vom Shared Server. Abhängig von den Clients die später dazu kommen würde ich dann auf einen Server setzen über den ich Push Notifications realisieren kann. Bloß wollte erstmal eine günstige Lösung mit bereits bestehender Hardware haben um gucken zu können wie das Projekt ankommt.

Ich bin für jede andere Ideen dankbar. Bin in dem Bereich nicht allzu erfahren, daher ist jeder Tipp Gold wert.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Naja, der Tip ist: Das ist sehr schwierig, was Du da vorhast. Wenn die Clients ganz normale Rechner sind, wie sie bei normalen Leuten im Wohnzimmer oder im Büro stehen, dann kannst Du ausser Polling da nicht viel machen.

Apple Push Notification Server ist nicht so schwer. Ob der in der Praxis auf OS X so gut funktioniert weiss ich allerdings nicht ...

Gruss

Alex
 

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
Ist an sich auch nicht schwierig. Bloß werde ich das SSL Zertifikat auf dem Shared Server teuer bezahlen müssen, dazu werden die sich wirklich freuen wenn ich Nachrichten ohne Ende über den Server jage und diverse Hintergrundprozesse laufen lasse. Wobei es mir bisher nicht ersichtlich war, ob ich das dort machen darf. Vielleicht einfach mal nachfragen.

Trotzdem schonmal danke für die Hilfe. :)
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Ist an sich auch nicht schwierig. Bloß werde ich das SSL Zertifikat auf dem Shared Server teuer bezahlen müssen, dazu werden die sich wirklich freuen wenn ich Nachrichten ohne Ende über den Server jage und diverse Hintergrundprozesse laufen lasse. Wobei es mir bisher nicht ersichtlich war, ob ich das dort machen darf. Vielleicht einfach mal nachfragen.

ÖÖÖh, warum? Du brauchst doch für APNS kein SSL Cent für Deinen Server? Und mehr Nachrichten schickst Du doch auch nicht, die hättest Du doch so oder so geschickt.

Oder steh ich auf dem Schlauch?

Alex
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Siehst Du, ist doch gar nicht so schlimm. Und das SSL Zertifikat bekommst Du von Apple.

Ein eigenes SSL Zertifikat brauchst Du nur, wenn Du die Kommunikation der Clients zum Server absichern willst.

Gruss

Alex
 

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
Schwierig ist es nicht, ich muss nur rausfinden inwiefern ich ein SSL Zertifikat installieren darf.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Also ich glaube nicht, dass Du das wirklich installieren musst. Du musst es halt mitschicken, wenn Du an den APNS gehst.

Alex
 

Dackel Arnold

Ontario
Registriert
22.06.09
Beiträge
344
Ich schaue mir die Doku von Apple dahingehend mal an. Wird da wohl irgendwo drin stehen.