Eigenen Messagerdienst erstellen
lima-city → Forum → Die eigene Homepage → Internet Allgemein
arbeiten
ausprobieren
aussage
browser
city
datenschutz
dienst
entdecken
http
komische signale
machen
nachricht
plattform
sekunde
server
sorgen
struktur
technologie
traum
url
-
Hilo Bürger/in von Lima der großen Webspace City,
für mich gibt es nichts interessanter im Internet als Messager Dienste die bekanntesten Skype & ICQ.
Wie funktioniert das ganze, mir ist schon bekannt das der Traffic boombe ist aber ist es für einen leihen Möglich einen sicheren Textmessager zu programmieren mit einer hohen Verschlüsselung.
Mir geht es nicht um schwierige Dinge wie camen & telen sondern um das freie schreiben.
Läuft das rein über automatisierte Datenbanken oder wie läuft die Verarbeitung.
Der Traum ist woll das alles über den Browser läuft auf jedem Gerät, mit Maximaler Sicherheit (weiß das ist nicht Möglich) & Datenschutz bestimmungen wie diese sein sollte (das Gespräch geht ja keinen was an). Andere Messager wollen ja immer gleich alle Recht.
Was für Provider hat icq oder skype das das funktioniert, ein eigenes Rechenzentrum friesst ja auch ne Menge Strom & Programmierer sollten ja zusätzlich für für Sicherheit und stabilität sorgen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn alles im Browser laufen soll ist die Verschlüsselung eigentlich ganz einfach über SSL gemacht. Das sollte für einen Messenger alle Male sicher genug sein, wenn man bedenkt, dass darüber auch Bankdaten versendet werden.
Die Technologie ist so aufgebaut:
User 1 schickt eine Nachricht an den Server
Server schickt die Nachricht per Push an alle anderen
Bei http gibt es jedoch kein (echtes) Push, weshalb das hier etwas anders angegangen werden muss.
User 1 sendet die Nachricht an den Server
Alle anderen User fragen z.B. alle 5 Sekunden am Server an, ob es etwas neues gibt und holen sich neue Nachrichten ab
Gerade die http Variante ist also gerade bei vielen Nutzern sehr trafficintensiv. Den Reload sollte man auch gekonnt per Ajax machen und nicht irgendwie per meta refresh. Da kann man nämlich keine Ressourcenschonende inkrementelle Übertragung neuer Nachrichten machen, sondern muss immer alle Nachrichten übertragen. -
Schau dir doch xmpp mal genauer an, da könntest du viel nützliches entdecken. :)
http://xmpp.org/
Ansonsten solltest du erstmal eine Server-Client-Struktur aufbauen, die nicht auf den Browser zielt und später einen Client für das Web schreiben. Das macht es dir im Nachhinein einfacher, deinen Dienst auch auf andere Geräte/Plattformen zu bringen. :) -
hc-tools schrieb:
Bei http gibt es jedoch kein (echtes) Push, weshalb das hier etwas anders angegangen werden muss.
Das möchte ich korrigieren. Gerade HTTP hat bereits eine Push funktionalität... Nennt sich ServerSentEvent, und wird in Javascript mittes dem EventSource Objekt umgesetzt. Diese wird sogar von vielen Browsern unterstützt, nur der Android std Browser entfällt, und der IE. Version 11 des IE könnt es evtl beinhalten. Naja, verlässlich ist es noch nicht.
Ich würde dir, aus meiner sicht, aber noch einen anderen Schritt erzählen: Meine erste volle Chatapp, welche im Browser funktionierte und Serverseitig sowie Clientseitig ca 40Zeilen brauchte, war nicht mit PHP, sondern mit Javascript.
Ich persönlich liebe NodeJS sehr, und bin begeistert, wie einfach sich hiermit arbeiten lässt. Wenn du ein wenig Zeit und Lust hast, kannst du dir gerne NodeJS mal anschauen. Dazu gibt es http://socket.io/, welches dir die Socketverbindung wegabstrahiert, sodass es für dich so aussieht wie Sockets, und im Hintergrund die bestmögliche Technik genutzt wird. Dies geht sogar bis zum IE5.5 runter, was finde ich eine gute Aussage über die Verfügbarkeit ist.
NodeJS + Socket.io kann ich dir sehr empfehlen, sehr einfach, und besonders für Chatapps ist es das ultimative erlebnis, weil es einfacher kaum geht.
Mit NodeJS kannst du außerdem größer skalieren in der Anzahl der Benutzer. Ein Apache gibt bei ca 600 gleichzeitigen verbindungen schon komische Signale von sich, siehe hierzu das Prinzip einer SlowLoris. Ein NodeJS Server ist auf IO spezialisiert, und kann sehr gut damit arbeiten. Für NodeJS kann dieser Typ was zeigen: http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/, 1Mio Verbindungen gleichzeitig, die eine Art Chat vollziehen ist find ich ausreichend für den Anfang.
Einfach mal reinschauen, ausprobieren, und vllt sagt es dir ja zu. (Ich mag es einfach, weil Javascript meine Lieblingssprache ist, und ich die Macht bekomme damit alles zu machen, was ich will)
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage