freie "push"-Webserver
-
Hallo,
ich möchte zwei Programme von mir, direkt kommunizieren lassen. Übliches Problem: keiner kann sich einfach zum anderen Port verbinden, weil ein Router dazwischen ist. Also benötige ich einen dritten Server.
Unabhängig und Kostenlos. Gibt es so etwas?
Bzgl. unabhängig: Ich blicke nicht ganz durch, wie die Anforderungen an einem push-Webserver sind.
Die "Google App Enginge" bietet mir z.B. genau, was ich haben will. Aber die ist nur für die ersten 5 Millionen Klicks kostenlos. Danach habe ich ein schickes Python-Server-Programm, aber die darunterliegende API kann ich nur noch gegen Entgelt benutzen
-
guck dir mal heroku an. da kriegst du einen web prozess + DB mit 10k rows kostenlos.
-
Du kannst recht billig einen pull Server verwenden.
Bei push/pull ist ja nur die Frage wer den Datentransfer initiiert. Google hat zB auch mit pull angefangen bei Android und ist erst spaeter zu push gewechselt.
Dann reicht dir naemlich ein billiger Webserver mit PHP. Der Client pollt regelmaessig den Server und bekommt so die Informationen.
Bei push musst du eine konstante Verbindung zwischen Client und Server aufbauen - das ist meistens unpraktisch.
uU ist fuer dich auch XMPP interessant.
-
lolhehe schrieb:
guck dir mal heroku an. da kriegst du einen web prozess + DB mit 10k rows kostenlos.
dort könnte ich dann ein beliebiges programm auf einem port laufen lassen? Das wäre zwar praktisch, aber würde mich auch an diese Art von Service binden.
Shade Of Mine schrieb:
Bei push musst du eine konstante Verbindung zwischen Client und Server aufbauen - das ist meistens unpraktisch.
Ja, da ist meine Frage, was der Server(-Anbieter) dazu beitragen muss. Ich hatte gehofft ich könnte die Verbindung evtl. auch einfach so mit einem x-beliebigen CGI-Script aufrecht erhalten.
Dabei kommt mir jetzt der Gedanke, dass ich ja auch einfach einen Endlos-Download initiieren könnte, und darüber meine Daten vom Server zum Client streame...
Da müsste ich evtl. auch regelmäßig dummy-Daten rüberschicken, damit die Verbindung nicht vom HTTP-Server getrennt wird? Aber den Datenverkehr hätte ich beim Pollen ja auch. Nur hier eben mit dem Vorteil, dass Änderungen direkt ankommen.Was meint ihr dazu?
uU ist fuer dich auch XMPP interessant.
glaube das ist dann eher für die eigentlichen Daten interessant. Da bastle ich mir sowas immer lieber selbst mit json oder lisp statt XML.
-
Marsi Motolami schrieb:
Shade Of Mine schrieb:
Bei push musst du eine konstante Verbindung zwischen Client und Server aufbauen - das ist meistens unpraktisch.
Ja, da ist meine Frage, was der Server(-Anbieter) dazu beitragen muss. Ich hatte gehofft ich könnte die Verbindung evtl. auch einfach so mit einem x-beliebigen CGI-Script aufrecht erhalten.
Im Prinzip nichts.
Die Frage ist lediglich: weiviele gleichzeitige Verbindungen kannst du offen halten?Dabei kommt mir jetzt der Gedanke, dass ich ja auch einfach einen Endlos-Download initiieren könnte, und darüber meine Daten vom Server zum Client streame...
Da müsste ich evtl. auch regelmäßig dummy-Daten rüberschicken, damit die Verbindung nicht vom HTTP-Server getrennt wird? Aber den Datenverkehr hätte ich beim Pollen ja auch. Nur hier eben mit dem Vorteil, dass Änderungen direkt ankommen.Ein keep-alive oder life-beat ist vielleicht nicht verkehrt - aber nicht unbedingt notwendig.
Beim pollen hast du alleine wegen dem Overhead der Anfragen deutlich mehr Traffic - aber das "Problem" beim push ist, dass der Server pro Client ja eine Verbindung offen halten muss. Wenn du 10 Clients hast, ist das kein Problem. Wenn du 1mio hast, aber schon.
Sofern dein Server genug gleichzeitige Verbdingen erlaubt, ist das aber sicher eine billige Variante das Problem zu loesen.