yChat je experimentální, XML-konfigurovatelný, rychlý, velmi přenosný, multi-platformní webový chatu serveru napsaný v C ++, a trochu podmnožina C, který podporuje SSL Secure Sockets pomocí OpenSSL, databáze MySQL a je kompatibilní s téměř všechny prohlížečů, které podporují rámy a JavaScript.
yChat běží na všech serverech, které jsou POSIX.4a kompatibilní a používají GNU GCC C ++ kompilátor z 3.1 a až se pthreads povoleny. Jeho vyvinuté pod GNU General Public License.
yhttpd je velmi lehký webový server založený na yChat zásuvky a nití motorů.
Zde jsou některé klíčové rysy "yChat":
Jeho zdarma a přenosný
· YChat je vyvíjen pod GNU General Public License, a je založen na GNU
nástroje (GCC, gmake), další open source knihovna Stuff (jako např libncurses atd.)
a měl by běžet na jakémkoliv POSIX schopného operačního systému (jako je vše založeno Linux
systémy, FreeBSD, NetBSD, OpenBSD a další BSD-Systems a na Unixech jako
IRIX, HP-UX, Solaris atd.).
Není potřeba žádné speciální chatu klienty
· YChat je webová, to znamená, že klienti se mohou připojit pouze k serveru chatu
s normálním webovém prohlížeči, jako je Microsoft Internet Explorer nebo jakékoliv Gecko-
PowerD Engine prohlížeče jako Mozilla, Firefox, Camino atd.
To má rysy skutečného HTTP webserver
· YChat běží zcela samostatně a nepotřebuje další webserver vybudovat
na, jako je Apache a nemusí být spuštěn prostřednictvím jakékoliv CGI. yChat vytváří
vlastní zásuvka na vlastní port (standardní port: 2000) a zdá se být plná
vybavený webový server HTTP pro klienty (webové prohlížeče).
· YChat kód základna může být převedena na yhttpd kódu základny automaticky. yhttpd
je webserver podmnožina yChat který běží úplně samostatně a poskytuje
normální webové stránky do sítě. To také podporuje Common Gateway Interface (CGI)
skriptování.
Jeho rychlé a bezpečné
· YChat je napsán v C ++, který je rychlejší než jakýkoli Java Chat-Server nebo jakýkoli
server napsaný ve skriptovacím jazyce, jako je PHP, Python nebo Perl. Vzhledem k tomu,
interních datových strukturách hash mapy se používají k garuantee vyhledávání jisté
hodnoty v O (1), množství času. Pokud se dostane plná hash mapy, bude Staronový.
V současné době, yChat byla měřena poskytuje více než 1000 Předvedení / požadavků za sekundu
na serveru krabici FreeBSD založeného při použití méně než 2% využití procesoru
na Athlon XP 1900+. Výkon se zdá být omezen pouze na vaší šířku pásma.
Také, každý uživatel dostane jeho vlastní relace id (náhodný řetězec) se standardní délkou
50 znaků k ověření každého přihlášeného uživatele. Délka ID relace
lze předefinovat stejně. Také ID relace dostat md5-hash volitelně
tak to je ještě těžší, aby reverzní inženýrství na ID relací ostatních uživatelů.
Také, yChat podporuje protokol pro přenos zabezpečené hypertext (HTTPS) spojení
pomocí knihovny OpenSSL. Poté budou všechny zprávy chatu být šifrována v
bezpečným způsobem. HTTPS je volitelné pro HTTP (nezajištěné spojení).
Jeho HTML šablony založené a snadno přizpůsobit konfiguraci pomocí XML založený
· Všechny stránky HTML jsou předdefinované jako soubory HTML šablon a lze snadno modifikovat
pro použití s přizpůsobené web design. Také, mnoho yChat preferencí může být
nastavit v hlavním konfiguračním souboru (ychat.conf). ychat.conf je kompletně napsán
v XML 1.0, která usnadňuje využít možnosti konfigurace na programech
3. osoby, které mohou chtít psát nějaké užitečných nástrojů pro yChat.
yChat ukládá všechny HTML a webové obrazy zlepšit celkový výkon. Pokud je to nutné,
vyrovnávací paměti mohou být vymazány, aby přepíšete nové verze souborů šablon.
Jeho jazyk šablony na bázi
· Správce může snadno vytvořit nový jazyk, ve kterém jsou všechny systémové zprávy
Zdá se, že Chat-User. Předdefinované jazyky je angličtina, ale jiní mohou být
dodal snadno. Jazyk lze editovat v konfiguračním souboru XML založené.
Databáze MySQL na bázi
· Registrovaní uživatelé jsou uloženy v databázi MySQL. C ++ programátory, může bez obav
nahradit třídu databáze obálky (data.h) s dalšími databázových rutin
použít jiné databází, jako jsou PostgreSQL, SQLite nebo textové bázi databáze atd
Pokud si přál, můžete zakázat podporu databází v pre-kompilace možností.
To má administrační rozhraní
· YChat zahrnuje ncurses založený administrační rozhraní, které sleduje některé
zajímavé statistiky a systémová hlášení a umožňuje dělat určité
administrativní úkoly. Kromě toho můžete přepnout do CLI (příkazový řádek
mód rozhraní administrace, aby rozhraní), které mají být opatřeny
více dostupné funkce (jako u sledování aktuálního využití systému atd.)
Pokud se vám nelíbí ncurses a / nebo CLI můžete vypnout obě volby v předem
kompilace možnosti.
Má schopnosti protokolování
· Správce protokolování udržuje na všechny yChat systémových zpráv (jako jsou uživatelé
Wich přihlašovat a odhlašovat, moduly, které jsou načteny, MySQL dotazů apod.) Také,
Apache Style kombinovaný formát souboru protokolu je vytvořen yChat (můžete analyzovat tento
logfile s jakýmkoli Apache logfile analyzátor jako AWStats atd). A v neposlední
nejméně, budou všechny veřejné zprávy všech dostupných místností být přihlášen na disk jako
dobře. Chcete-li zlepšit výkon, můžete definovat protokolování Puffer (standardně
nové protokoly budou zapsány na disk po každých 20 řádků). Pokud se chcete přihlásit
vše okamžitě, můžete obnovit tuto možnost 1 v ychat.conf.
Jeho modulární přes vlastní velení a dynamické HTML motorem
· Všechny příkazy chatu jsou realizovány prostřednictvím dynamických zatížitelnými soubory modulu, který může
být recompiled a znovu načíst bez restartování celou yChat serveru. Také
HTML-Stránky s některými úkoly může být sestaven jako modul, jako je
mods / html / yc_register.so, mods / html / yc_options.so a mods / html / yc_colors.so
atd., takže si můžete také naprogramovat své dynamické webové stránky yChat v C ++.
Jeho multi závitem (POSIX niti)
· Existuje pouze jeden hlavní proces, který založí několika nití, každý pro vlastní
jedinečný úkol. Například jedno vlákno se používá pro manipulaci manažer soketů, které
čeká na příchozí požadavky TCP / IP, další vlákno řády časovač systém
což dokazuje, pokud klienti jsou stále aktivní, nebo osvobozuje není nutná paměť v některých
časové intervaly (viz také "garbage collector"). Také, každý Chat-User dostane to vlastnit
závit. Není třeba plýtvání paměti tím, že vytvoří pro každý úkol nové
proces. Všechna uživatelská Vlákna jsou řízeny závitu bazénu, aby se zabránilo plýtvání CPU
vytvoření pokaždé nové vlákno o opětovné závit objekty, které udělali jeho
úlohy, které již byly a readded do fronty závitu bazénu.
standardní velikosti fronty a celkové velikosti bazénu lze nastavit v ychat.conf.
Jeho použití kolekce motor smart odpadky
· Všichni uživatelé a pokoje, které nemáte být uchovávány v hlavní paměti (protože
uživatel přihlášen, nebo pokoj byl zničen, protože to byl prázdný) bude
není možné ihned odstraněny, ale být umístěn asi 10 minut v yChat
garbage collector. Pokaždé, když nový pokoj je vytvořen systémy kontroly
odpadky znovu použít neaktivní místnosti objektu. Pokud určitý uživatel chce přihlásit,
systém zkontroluje, pokud je již přítomen v kolektoru odpadky. Pokud ano, bude
být obnovena bez plýtvání drahé databázové dotazy načíst uživatele
Možnosti. To zlepšuje celkový výkon na silně zatížených yChat serverů pokud
Mnoho uživatelů a pokojové objektů jsou vytvořeny a často zničena.
Co je nového v 0.8.2 Release:
· Opraveny některé překlepy
· Přidána - Versioning - bod do souboru README
· Odstraněno zdrojový soubor modulu yc_template příkazů
· Scripts / config.pl nyní také přijímá q a skončit jako příkaz
· Minor bugfix ve skriptech / config.pl
· Některé vylepšení v src / Konfigurovat
· Změnil některé výchozí hodnoty v src / glob.h
Co je nového v 0.7.9.5 verzi:
· Tato verze přidává .pm detekci do scripts / stats.pl.
· Upravuje README (nový CVS pserver adresu).
· Všechny cpp, .h, a .tmpl soubory mají nyní nový zdrojový záhlaví pomocí docs / header.txt jako záhlaví skeletu.
· Některé menší opravy chyb byly provedeny.
Podrobnosti Software:
Verze: 0.7.9.5
Datum uploadu: 3 Jun 15
Licence: Volný
Popularita: 197
Komentáře nebyl nalezen