Chat in C
-
Ich suche einen Quellcode für einen Chat in C.
Gibt es irgendwo einen?
Ich habe schon bei Google gesucht, aber es gibt nicht wirklich etwas vernünftiges dabei. Ich brauche den Client und das Programm. Es muss oder darf ein Konsolenprogramm sein.
-
-
Quellcode?
-
auch dort. einfach die nicht-windows version runterladen.
-
Gibt es die Datei auch als .zip?
Bei meinem PC geht .tar einfach nie.
-
Dann check doch die sourcen einfach aus: http://www.unrealircd.com/?page=cvs
-
Was willst du eigentlich mit dem Quelltext? Willst du ihn verstehen? Dann ist unrealircd wohl ein bisschen zu komplex.
-
Ich möchte mir einen eigenen Chat basteln.
-
chatt schrieb:
Ich möchte mir einen eigenen Chat basteln.
Fang einfach an.
-
Wie? Wenn man noch nicht so viel beherscht, bringt einem das nichts.
-
dann zieh dir erstmal ein tutroial zu sockets&co rein
-
Ich häng mich hier mal mit rein, ich habe nämlich auch ein Problem, über das ich seit zwei tagen grüble. Ich schreibe ein Programm, welches eine Chatfunktion bieten soll. Bis jetzt liste ich die verfügbaren Rechner im MS-Netzwerk und bekomme auch schon mittels socket die verbindung zwischen client und server hin. Mein Problem ist jetzt folgendes: ein chat-client ist meiner meinung nach ja Client und Server (aus Socketsicht), wie regelt man dynamisch die Verbindungen zu beliebig vielen Rechnern? wird zu jeder Verbindung ein neuer Thread angelegt und die Verbindung gehalten? Oder werden einfach im selben Thread oder in der selben Funktion mehrere Verbindungen aufgebaut. Oder läuft es ganz anders, wird bei jedem Versenden des Textes die Verbindung jeweils neu aufgebaut und nach Vesenden geschlossen? Fragen über Fragen
Für Antworten bedanke ich mich schonmal im Voraus.
CK
-
> wird zu jeder Verbindung ein neuer Thread angelegt und die Verbindung gehalten?
nein> Oder werden einfach im selben Thread oder in der selben Funktion mehrere Verbindungen aufgebaut.
eher, wobei die dann nicht nach verlassen einer "funktion" verschwinden.> Oder läuft es ganz anders, wird bei jedem Versenden des Textes die Verbindung jeweils neu aufgebaut und nach Vesenden geschlossen?
ganz falsch.
-
und wieviele Punkte hab ich? *fg*
-
c.rackwitz schrieb:
> wird zu jeder Verbindung ein neuer Thread angelegt und die Verbindung gehalten?
neinnaja, für jede verbindung einen eigenen thread zu haben ist eigentlich nicht unüblich.
@fragesteller: die meisten chats laufen serverbasiert. dabei connecten sich die clients zum server und der leitet dann alles an jeden client weiter, hat also viele verbindungen offen. wenn du nur im lokalen ethernet chatten willst, dann könntest du einen udp-basierten 'broadcast-chat' coden. dabei empfängt erstmal jeder client alle messages und man braucht keinen server.
-
An Server und co. fehlt es mir nicht, es fehlt mir eher an einem vernünftigen Partner oder einem source Code der IN C geschreiben wurde, und ich für mich abändern kann, damit es zu meinem Client "servt".
-
-
danke für die schnellen Antworten! Die Broadcast-Variante ist ne gute Idee, allerdings nichts für mich, ich hatte vergessen zu sagen, dass ich zusätzlich Dateiübertragung implementieren will und beides auch noch verschlüsselt stattfinden soll, ich werd mal die variante versuchen jeweils nen neuen Thread zu starten, im Ethernet sollte diese lösung reichen.
-
c.rackwitz schrieb:
klar, threading bringt schon etwas overhead mit sich. aber diese unix-systeme und clones (linux und so'n schmarrn) sind ja sowieso nicht so dolle beim multithreading.
-
net schrieb:
c.rackwitz schrieb:
klar, threading bringt schon etwas overhead mit sich. aber diese unix-systeme und clones (linux und so'n schmarrn) sind ja sowieso nicht so dolle beim multithreading.
Müssen sie auch nicht, sie skalieren auch so unter großen Lasten besser als manch anderes System.