|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
| LinkBack | Thread Tools | Display Modes |
| |||
Gnutella Chat Extensions Ok, everyone, here is it, here are my ideas about chatting in gnutella, please be so kind and give me some feedback.. [English version, Deutsch steht weiter unten] (translation, if there are any mistakes write me a letter or an email*g*) In this file there are theoretical thoughts to add a chat module to Gnutella. It's all very general but i hope it's useful for someone (interest in realizing? any ideas? mailto: Jan_Hollburg@gmx.net) To add a Chat into Gnutella, you have to pay attention that you combine two completely different protocols. The Gnutella protocol cannot guarantee that a message (->TTL- Setting) reaches the recipent, that's why you never get 100% of the files for one search string are viewable. But if you chat, it's necessary that sender and recipent can reach each other at every time, multiple. But how can that be realized? At first, we must define a room for messages. That means, that one servent must start being a Chat-Host. This host has now his IP and a chat-ROOMNAME, by which he can be found in the network. Other users can now search for the room name (or topic or user) and find the host. When they connect, they login to the room and the Client-Servent-PC builds a direct connection to the Host-Servent-PC. Furtheron, every Client has do know all the other client-IPs in the chat room, because: What happenes, if the original host goes offline? Then, an other client has to take over the host-function. Best is, if this happenes through an weigh of ONLINE-TIME (because "young" hosts may go offline after a short time) and the PING-value (the chat should be as fast as possible...) Also, i can imagine to implement a "Direkt-Download" option - if one chatter searches for a file that another one has, you don't have to search for (less waste of time and traffic), both of the clients only build up a direct connection. (How would it be, if one client could view a file list of an other without a fuzzy web search? This is also w/o a chat of interest..!) [Deutsche version, english see top of the file] Dies sind theoretische Überlegungen, in GNUTELLA ein CHAT-Modul einzubauen. Alles noch ziemlich allgemein gefasst aber ich hoff es nützt jemanden (interesse bei der Realisierung? Ideen? melden bei Jan_Hollburg@gmx.net) Um einen Chat in Gnutella zu implementieren muss man beachten, daß man damit zwei vollkommen unterschiedliche Protokolle versucht zu vereinen. Das Gnutella-protokoll kann nicht garantieren, daß eine Nach- richt (entsprechend TTL-Setting) es vom Absender bis zum Emp- fänger schafft, deshalb wird man auch niemals 100% der Dateien in Gnutella für ein Suchergebnis angezeigt bekommen. Beim Chat ist es aber nötig daß Sender und Empfänger sich ständig erreichen können, und das multipel. Wie kann man sowas also realisieren? Als erstes muss man einen abgegrenzten Raum für Nachrichten spezifizieren. Das bedeutet also, daß ein Servent den Anfang machen muss und sich als Chat-HOST zur Verfügung stellen muss. Dieser Host hat nun, neben der IP, auch einen CHAT-RAUMNAMEN, unter dem er im Netzwerk gefunden werden kann. Andere User können also nach CHAT-RÄUMEN (oder Topic oder User) suchen und finden diesen Rechner. Wenn sie sich verbinden (jeder Rechner braucht hier auch einen NICK...) loggen sie sich in den Raum ein und der client-servent-PC baut zum host-servent-PC eine direkte Verbindung auf. Weiterhin muss jeder Client-Rechner alle anderen clients im chat-Raum per IP kennen, denn: was passiert wenn der ursprüngliche HOST offline geht? dann muss ein Client die Hostfunktion übernehmen. Am besten dies geschieht nach einer Abwägung zwischen ONLINE- Zeit (denn junge hosts sind vielleicht schnell wieder raus und alte gehn vielleicht auch wenn der erste geht......) und PING-Verzögerung (denn der chat soll ja schnell laufen) Weiterhin könnte ich mir die Einbindung eines TOPICs vorstellen (also jeder Raum kann ein TOPIC haben das vom jeweiligen Host festgelegt wird.....) Man könnte auch eine Art "Direkt-Download"-Option implementieren, wenn ein Chatter ein file sucht, was ein anderer hat, spart man sich so die Mühe und den Traffic danach zu suchen, die beiden clients brauchen dann nur noch eine direkte Verbindung aufzubauen (Wie wärs wenn ein client vom anderen ne filez-Liste einsehen könnte,ohne websearch? Gedanke auch für außerhalb des chats interessant...!) |
| |||
Chat I too have been thinking along these lines of a chat room ... the trick will be to search for chat rooms... or to have gnutella search for a "resource" not just a file name ... in this way you could search for chat rooms,video cams,streaming radio etc.... Joetella |
| |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Extensions | LimeMAN | New Feature Requests | 1 | September 10th, 2006 05:47 AM |
exe extensions | instigator | Open Discussion topics | 1 | March 5th, 2005 01:21 PM |
extensions | owleyes | Tips & Tricks | 1 | January 2nd, 2005 04:34 PM |
Gnutella Developer Chat on IRC | Moak | General Gnutella Development Discussion | 20 | August 30th, 2002 05:41 PM |