instant messenger ohne server
-
da ich mit icq nicht wirklich zu frieden bin, weil es mir einfach zu oft zu sehr lagged, hab ich in letzer zeit mal etwas drüber nachgedacht, wie man einen guten, schnellen messenger realisieren könnte.
ich bin bis jetzt soweit, dass die chat-"sitzungen" direkt zw. den zwei chat-partnern aufgebaut werden sollte (über tcp-port), und nicht alles über einen server laufen soll. irgendwelche benutzerabfragen (alter und so ein kram) soll auch direkt vom anderen benutzer abgefragt werden (über udp-port).
am besten wäre es aus meiner sicht möglichst auf einen server, der im netz steht verzichten zu können, da sowas 1. geld kostet, und er 2. ausfallen kann.
Deswegen hab ich mir überlegt, dass Jeder benutzer eine kontaktliste haben sollte, in der einmal der benutzernamen jedes kontakts, als auch dessen ip, oder eine möglichkeit diese zu bekommen, gespeichert ist.
da nicht jeder über eine statische ip verfügt, sollte man noch einige möglichkeiten einbauen, wie jeder benutzer seine ip veröffentlichen kann (ich hab da einmal an eine db+php-script gedacht, oder jeder muss selbst irgendwo ein script o.ä. hochladen, über das man die ip bekommt). am besten mehrere zw. denen er wählen kann.ich hab bis jetzt nur wenige denkansätze gestartet, über eine verwirklichung an sich hab ich noch gar nicht gedacht.... zumal ich diese lösung eigendlich für mehr als unbefriedigend halte, aber gibt es irgend eine andere bessere möglichkeit, so ein netzwerk zu verwirklichen, das komplett auf einen dedicated-server verzichten kann?
mir ist absolut nichts anderes eingefallen...
vllt. hat jemand von euch eine idee, und gegebenenfalls später (sofern das so vernünftig zu lösen ist) jemand lust, das mit mir zu entwickeln.mfg
Cypher
-
Hey das ist mein Projekt, also Denkschraube umdrehen!
Spass bei Seite, so etwas zu realisieren ist Denkbar einfach,
der Hacken dabei ist das möglichst viele nutzer zum Start dabei sind.
Da dies meißt nicht der Fall ist, muß man zweigleisig fahren und den
Weg zum über einige Websapce-Scripte gehen, wenn genügend Nutzer vorhanden sind,
kann man durch eine neue Version diesen Weg umgehen.Die Lösung ist, das jeder Client eine IP-Liste auf dem Rechner hat, die
durch andere Clients aktuellisiert wurde, der Client der neu Gestartet
wird fragt alle IP´s der Liste ab, bis eine Antwortet und vom Ihm die
Aktuelle IP-Liste bekommt, ebenso die "Wer ist Online" information.
Dieser Client aktualisiert seine Liste etc. und wenn ein anderer Client
bei Ihm Anfragt giebt er entsprechende Daten zurück. Im DSL Zeitalter
dürfte das kein Problem geben, hauptsache es giebt genügend Clients, und
wenn man länger nicht OnLine war kann die Software auch eine aktuelle IP-Liste von
einem Server laden.Dies ist das Prinzip von Overnet, und als Chatsoftware umsetzbar.
gruß Micha
-
also das jeder chatter als server funktioniert?
was machen dann so leute wie ich?
ich hab zu hause nen router und der blockt alle ports die von außen reinkommen...
dann hab ich keine chance mit anderen zu chatten, außer die machen nen server...aber ich kann keine verbindung u anderen öffnen.
aber villeicht gibts da ja auch noch ne lösung für...
mfg
Black Sting
-
Du könntest dich zb mal mit der Routerkonfiguration befassen ;).
Es gibt da diverse Methoden bestimmte Ports durchzulassen.
-
icq läuft auch nicht nur über server....
nur die erste verbindung läuft über den server. danach ist direct connect
-
@promicha:
dein projekt? in wie fern? hast du sowas schon angefangen, bzw. kann man da einsteigen?
und was is overnet??@dreadlockfilbert:
wenn das icq schon so macht? wie schaffen sie es dann dass es trotzdem manchmal so dermaßen lagged? und z.B. IRC lagged sogut wie überhaupt nicht, und da läuft alles über server... also irgendwas müssen sie doch falsch machen
-
Bei ICQ erscheint die Nachricht soweit ich weiß erst als versendet, wenn der Empfänger mitgeteilt hat, dass er die Nachricht empfangen hat. Die IRC-Clients stellen die Nachricht erst in das Nachrichtenfenster und versenden sie dann. Wann sie dann ankommt ist eine andere Sache... Das sah bei mir zumindest öfter so aus, wenn ich während eines Lags meinerseit ein paar Zeilen geschrieben habe, und dann später die Logs der anderen las.
-
Du willst also ein P2P System haben.
Sun hat dafür einige Protokolle spezifiziert um Probleme, wie du sie beschrieben hast, in P2P Systemen zu lösen. Dazu gibt es auch eine Referenzimplementierung in Java (Java, wer hätte das gedacht). Als ich mich darüber informiert habe war das ganze noch etwas im Aufbau, ich weis nicht wie weit die mitlerweile sind, Aber eine Chat Aplikation wurde damit auch scohn entwickelt.
Vieleicht ist ja JXTA etwas für dich, vieleicht ist es aber auch overhead, aber das router und firewall problem wird dabei auch gelöst.
-
dreadlockfilbert:
wenn das icq schon so macht? wie schaffen sie es dann dass es trotzdem manchmal so dermaßen lagged? und z.B. IRC lagged sogut wie überhaupt nicht, und da läuft alles über server... also irgendwas müssen sie doch falsch machenAlso ich hab bei ICQ noch nie Lags erlebt, ausser wenn bei einem der Clients die InternetVerbindung sehr stark ausgelastet ist (Uploads etc..).