yChat è sperimentale,, veloce, molto portatile, multi-piattaforma web-based di chat server XML-configurabile scritto in C ++ e un po sottoinsieme di C, che supporta i socket SSL sicure utilizzando OpenSSL, database MySQL ed è compatibile con quasi tutti i i browser che supportano i frame e JavaScript.
yChat gira su tutti i server compatibili POSIX.4a e utilizzare il compilatore GNU GCC C ++ da 3.1 e con pthreads abilitati. Il suo sviluppato sotto la GNU General Public License.
yhttpd è un webserver molto leggero basato su motori socket e filo yChat.
Qui sono alcune caratteristiche chiave di "yChat":
Il suo libero & portable
· YChat è sviluppato sotto la licenza pubblica GNU ed è basato su GNU
strumenti (gcc, gmake), altre cose libreria open source (come libncurses ecc)
e dovrebbe funzionare su qualsiasi sistema operativo capace POSIX (come tutti a base Linux
sistemi, FreeBSD, NetBSD, OpenBSD e altri BSD-Systems e su Unix come
IRIX, HP-UX, Solaris, ecc).
Non vi è alcuna necessità di clienti speciali di chat
· YChat è web based, che consente ai clienti possono collegarsi solo al server di chat
con un browser web normale come Microsoft Internet Explorer o qualsiasi Gecko-
Browser powerd motore come Mozilla, Firefox, Camino etc.
Ha caratteristiche di un vero e proprio webserver HTTP
· YChat corre completamente stand-alone e non ha bisogno di un altro server web per costruire
su come Apache e non ha bisogno di essere eseguito tramite qualsiasi tipo di CGI. yChat crea
la sua presa su una porta personalizzato (porta standard: 2000) e sembra essere una completa
featured web server HTTP per i client (browser web).
· Il codice di base yChat può essere convertito in un codice di base yhttpd automaticamente. yhttpd
è il sottoinsieme webserver di yChat che gestisce completamente stand-alone e fornisce
siti web normale della rete. Supporta anche Common Gateway Interface (CGI)
scripting.
La sua veloce e sicuro
· YChat è scritto in C ++, che è più veloce di qualsiasi Chat-Server basato su Java o qualsiasi
Server scritto in un linguaggio di scripting come PHP, Python o Perl. Come
strutture dati interne mappe hash vengono utilizzati per la ricerca Garuantee certo
valori in O (1) tempo. Se un mappe hash è pieno, sarà rehashed.
Attualmente, yChat è stata misurata fornendo oltre 1000 risultati / richieste al secondo
su una scatola di server basato su FreeBSD durante l'utilizzo di meno del 2% di utilizzo della CPU
su un Athlon XP 1900+. Prestazioni sembra essere limitata da solo la tua larghezza di banda.
Inoltre, ogni utente riceve il proprio ID di sessione (stringa casuale) con una lunghezza standard
di 50 caratteri per autenticare ogni utente collegato. La lunghezza della id di sessione
può essere ridefinito come bene. Inoltre, l'id di sessione otterrà md5-hash facoltativamente
così questo è ancora più difficile da reverse engineering gli ID di sessione di altri utenti.
Inoltre, supporta il yChat Hypertext Transfer Protocol sicura (HTTPS)
utilizzando la libreria OpenSSL. Quindi, tutti i messaggi di chat saranno cifrati in un
modo sicuro. HTTPS è facoltativo per HTTP (connessioni non protette).
Il suo modello HTML based e facile da personalizzare tramite configurazione basato su XML
· Tutti i siti HTML sono predefiniti come file HTML-modello e possono essere facilmente modificati
da utilizzare con un web design personalizzato. Inoltre, un sacco di preferenze yChat può essere
impostato nel file di configurazione principale (ychat.conf). ychat.conf è completamente scritto
in XML 1.0 che rende più facile utilizzare le opzioni di configurazione in programmi di
3 persone, che potrebbero voler scrivere alcuni attrezzi utili per yChat.
yChat memorizza nella cache tutte le immagini HTML e di Internet per migliorare le prestazioni complessive. Se necessario, la
cache può essere cancellata per rimemorizzazione nuove versioni dei file di modello.
Il suo modello basato lingua
· L'amministratore può creare facilmente un nuovo linguaggio in cui tutti i messaggi di sistema
sembrano Chat-User. Le lingue predefinite è inglese, ma altri possono essere
aggiunto facilmente. La lingua può essere modificata nel file di configurazione basato su XML.
Database basato su MySQL
· Gli utenti registrati sono memorizzati in un database MySQL. I programmatori C ++ possono sentirsi liberi
di sostituire la classe di database involucro (data.h) con un altro routine di database
usare altri database come PostgreSQL, SQLite o di un database testuale etc.
Se desiderate, è possibile disattivare il supporto di database nelle opzioni di pre-compilazione.
Ha una interfaccia di amministrazione
· YChat include una interfaccia basata su ncurses amministrazione che replica alcuni
statistiche interessanti e messaggi di sistema e consente di fare certe
attività amministrative. Inoltre, è possibile passare alla CLI (riga di comando
modalità dell'interfaccia di amministrazione per interfaccia) da fornire con
più funzioni disponibili (come tenere traccia dell'utilizzo attuale sistema, ecc).
Se non vi piacciono ncurses e / o la CLI è possibile disattivare entrambe le opzioni nel pre-
compile options.
Ha funzionalità di registrazione
· Il gestore registrazione tiene traccia di tutti i messaggi di sistema yChat (ad esempio gli utenti
wich log in e fuori, i moduli che sono caricati, query MySQL, ecc). Inoltre, un
Combinato formato di file di log di Apache-Style è creato da yChat (è possibile analizzare questo
file di log con qualsiasi file di log di Apache analizzatore come awstats ecc.); E ultimo ma non
almeno, tutti i messaggi pubblici di tutte le camere disponibili verranno registrati su disco come
bene. Per migliorare le prestazioni, è possibile definire la registrazione palla (come standard
nuovi registri verranno scritti sul disco dopo ogni 20 righe). Se si desidera accedere
tutto e subito, è possibile reimpostare questa opzione per 1 a ychat.conf.
La sua modularità attraverso proprio comando e motore HTML dinamico
· Tutti i comandi di chat sono realizzati attraverso file dei moduli caricabili dinamico che può
essere ricompilato e ricaricato senza riavviare l'intero server yChat. Anche
HTML-siti con taluni compiti possono essere compilato come un modulo del genere
mods / html / yc_register.so, mods / html / yc_options.so e mods / html / yc_colors.so
ecc in modo da poter anche programmare i vostri siti web yChat dinamici in C ++.
Il suo multi-threaded (thread POSIX)
· C'è solo un processo principale che genera più thread, ciascuno per le proprie
compito unico. Ad esempio un filo viene utilizzato per gestire il gestore presa che
attende le richieste TCP / IP in arrivo, un altro gli orari filo il timer di sistema
il che dimostra se i clienti sono ancora attivi o meno libera necessari la memoria in alcuni
intervalli di tempo (vedi anche "Garbage collector"). Inoltre, ogni chat con l'utente ottiene proprio
thread. Non c'è bisogno di memoria sprechi creando per ogni attività una nuova
processo. Tutti User-thread sono gestiti da un pool di thread per evitare sprechi CPU
creando ogni volta un nuovo thread riutilizzando oggetti thread che hanno fatto la sua
posti di lavoro già e sono stati readded nella coda del pool di thread. Il
misure standard della coda e la dimensione totale della piscina possono essere impostati in ychat.conf.
La sua utilizzando un motore di raccolta dinamica dei rifiuti
· Tutti gli utenti e le camere, che non hanno a tenere in memoria principale (perché il
utente è disconnesso o la camera è stata distrutta perché era vuoto) sarà
non essere eliminati immediatamente, ma essere disposto per circa 10 minuti nel yChat
garbage collector. Ogni volta che una nuova stanza, viene creato il sistema controlla la
rifiuti riutilizzare un oggetto stanza inattivo. Se un certo utente vuole accedere, il
sistema verifica se è già presente nel collettore spazzatura. Se sì, lo farà
essere riattivato senza sprecare le query di database costosi per andare a prendere l'utente del
opzioni. Questo migliora le prestazioni generali sui server yChat pesantemente caricato se un
sacco di oggetti utente e sala vengono creati e distrutti spesso.
Cosa c'è di nuovo in 0.8.2 rilascio:
· Corretti alcuni errori di battitura
· Aggiunta la - Versioning - paragrafo nel file README
· Rimosso il file di origine modulo di comando yc_template
· Scripts / config.pl ora accetta anche q e uscire come un comando
· Bugfix minori negli script / config.pl
· Alcuni miglioramenti in src / configure
· Cambiato alcuni valori di default in src / glob.h
Novità di 0.7.9.5 rilascio:
· Questa release aggiunge .pm rilevamento di scripts / stats.pl.
· Modifica il README (nuovo indirizzo pserver CVS).
· Tutti cpp, .h, e file .tmpl hanno ora un nuovo header sorgente utilizzando docs / header.txt come intestazione scheletro.
· Sono state fatte alcune correzioni di bug minori.
Dettagli del software:
Versione: 0.7.9.5
Data di caricamento: 3 Jun 15
Licenza: Libero
Popolarità: 197
I commenti non trovato