yChat er en eksperimentell, XML-konfigurerbar, rask, svært portabel, multi-platform Web-baserte chat-server skrevet i C ++ og litt undergruppe av C som støtter sikker SSL stikkontakter bruker OpenSSL, MySQL-databaser og er kompatibel med nesten alle nettlesere som støtter rammer og Javascript.
yChat kjører på alle servere som er POSIX.4a kompatible og bruke GNU GCC C ++ kompilatoren fra 3,1 og opp med pthreads aktivert. Dens utviklet under GNU General Public License.
yhttpd er en veldig lett webserver basert på yChat socket og tråd motorer.
Her er noen viktige trekk ved "yChat":
Det er gratis og bærbart
· YChat er utviklet under GNU General Public License, og er basert på GNU
verktøy (GCC, GAngi), andre åpen kildekode bibliotek stuff (som libncurses etc.)
og bør kjøres på alle POSIX stand operativsystem (slik som alle Linux-basert
systemer, FreeBSD, NetBSD, OpenBSD og andre BSD-Systems og på Unices som
IRIX, HP-UX, Solaris osv).
Det er ikke behov for spesielle chat klienter
· YChat er webbasert, betyr at kunder kan bare koble til chat-server
med en normal nettleser, for eksempel Microsoft Internet Explorer eller Gecko-
Engine powerd nettlesere som Mozilla, Firefox, Camino etc.
Den har funksjoner av en reell HTTP webserver
· YChat går helt stå alene og trenger ikke en annen webserver å bygge
på som Apache og trenger ikke å bli kjørt via noen form for CGI. yChat skaper
sin egen kontakt på en tilpasset port (standard port: 2000) og ser ut til å være en full
kjennetegnet HTTP web server til klienter (nettlesere).
· Den yChat kodebasen kan konverteres til en yhttpd kodebasen automaticaly. yhttpd
er webserveren undergruppe av yChat som går helt frittstående og gir
normale nettsteder til nettet. Den støtter også Common Gateway Interface (CGI)
scripting.
Dens rask og sikker
· YChat er skrevet i C ++ som er raskere enn noen Java-baserte chat-server eller en hvilken som helst
server skrevet i et skriptspråk som PHP, Python eller Perl. Ettersom
interne datastrukturer hash kart er brukt til garuantee søke viss
verdier i O (1) tid. Hvis en hash maps blir full, vil det bli rehashed.
Foreløpig har yChat blitt målt tilby over 1000 treff / forespørsler per sekund
på en FreeBSD basert server boks mens du bruker mindre enn 2% av CPU-bruk
på en Athlon XP 1900+. Ytelse synes å være begrenset av båndbredden bare.
Dessuten får hver bruker sin egen session id (tilfeldig streng) med en standard lengde
50 tegn til å godkjenne hver innlogget bruker. Lengden på økten id
kan omdefineres også. Dessuten vil økt id få md5-hash eventuelt
så dvs enda vanskeligere å reverse engineering økten ids av andre brukere.
Dessuten støtter yChat sikker Hypertext Transfer Protocol (HTTPS) tilkoblinger
bruker OpenSSL-biblioteket. Deretter vil alle chat-meldinger krypteres i en
sikker måte. HTTPS er valgfritt å HTTP (usikrede forbindelser).
Dens HTML mal basert og lett å tilpasse via XML basert konfigurasjon
· Alle HTML nettsteder er forhåndsdefinert som HTML-Malfiler og kan enkelt endres
å bruke med et tilpasset webdesign. Dessuten kan mye yChat preferanser være
satt i hovedkonfigurasjonsfilen (ychat.conf). ychat.conf er helt skrevet
i XML 1.0 som gjør det enklere å bruke konfigurasjonsmuligheter i programmer av
Tredje personer som kan være lurt å skrive noen nyttige verktøy for yChat.
yChat bufrer alle HTML og web-bilder for å forbedre den generelle ytelsen. Hvis nødvendig,
cache kan tømmes for å bufrer nye versjoner av malfiler.
Sitt språk malbasert
· Administratoren kan enkelt lage et nytt språk der alle systemmeldinger
vises til Chat-User. De forhåndsdefinerte språk er engelsk, men andre kan være
lagt lett. Språket kan redigeres i XML-basert konfigurasjonsfil.
MySQL-basert database
· Registrerte brukere lagres i en MySQL database. C ++ programmerere kan gjerne
å erstatte databasen omslaget klasse (data.h) med en annen database rutiner
å bruke andre databaser som PostgreSQL, SQLite eller en tekstbasert database etc.
Hvis ønsket, kan du deaktivere database støtte i pre-kompileringsvalgene.
Den har et administrasjonsgrensesnitt
· YChat inkluderer en ncurses basert administrasjonsgrensesnitt som sporer noen
interessant statistikk og systemmeldinger og gjør det mulig å gjøre visse
administrative oppgaver. I tillegg kan du bytte til CLI (kommandolinje
interface) måte administrasjonsgrensesnittet for å være forsynt med
flere tilgjengelige funksjoner (som å holde styr på dagens system bruk etc.).
Hvis du ikke liker ncurses og / eller CLI kan du deaktivere begge alternativene i pre-
kompilere alternativer.
Den har loggingsfunksjoner
· Den logging leder holder styr på alle yChat systemmeldinger (som brukere
wich logge inn og ut, moduler som er lastet, MySQL spørringer etc.). Også en
Apache-stil kombinert Loggfilformatet er skapt av yChat (du kan analysere denne
loggfil med noen Apache loggfil parser som awstats etc.). Og sist men ikke
minst, vil alle offentlige meldinger av alle tilgjengelige rom være logget inn for å disk som
godt. For å forbedre ytelsen, kan du definere logging puffer (standardly
nye loggene vil bli skrevet til disken etter hver 20 linjer). Hvis du vil logge
alt med en gang, kan du tilbakestille dette alternativet til 1 i ychat.conf.
Den modulære gjennom egen kommando og dynamisk HTML motor
· Alle chat kommandoer er realisert gjennom dynamisk lastbare modul filer som kan
rekompileres og lastes uten å starte hele yChat server. Også
HTML-nettsteder med visse oppgaver kan kompileres som en modul som
mods / html / yc_register.so, mods / html / yc_options.so og mods / html / yc_colors.so
etc. så kan du også programmere dynamiske yChat nettsteder i C ++.
Sin multi threaded (POSIX tråder)
· Det er bare én viktigste prosessen som gyter flere tråder, hver for sin egen
unik oppgave. For eksempel en tråd som brukes til å håndtere kontakten lederen hvilken
venter på innkommende TCP / IP forespørsler, en annen tråd tidsplaner systemet timer
som beviser hvis kundene er fortsatt aktiv eller frigjør ikke nødvendig minne i visse
tidsintervaller (se også "Garbage collector"). Også, får hver Chat-User det eier
tråden. Det er ikke behov for minne svinn ved å skape for hver oppgave en ny
prosess. Alle bruker tråder styres av en tråd bassenget for å unngå CPU svinn
skape hver gang en ny tråd ved gjenbruk tråd gjenstander som har gjort sitt
Jobber som allerede er og har vært readded inn i køen av tråden bassenget. Den
standardstørrelser av køen og den totale størrelsen bassenget kan settes i ychat.conf.
Sin ved hjelp av en smart søppelrydding motor
· Alle brukere og rom som ikke trenger å holdes i hovedminnet (fordi
brukeren har logget ut og rommet har blitt ødelagt fordi det var tomt) vil
ikke slettes umiddelbart, men plasseres i ca 10 minutter i yChat
søppelinnsamler. Hver gang et nytt rom er opprettet systemene kontrollerer
søppel å gjenbruke en inaktiv rom objekt. Hvis en bestemt bruker ønsker å logge inn,
Systemet sjekker om han er allerede til stede i søppelinnsamler. Hvis ja, vil han
reaktiveres uten å kaste bort dyre databasespørringer for å hente brukerens
alternativer. Dette forbedrer ytelsen på tungt lastede yChat servere hvis en
Mange bruker og rommet objekter er skapt og ødelagt ofte.
Hva er nytt i 0.8.2 Release:
· Fast noen skrivefeil
· Lagt - Versjonskontroll - avsnitt inn i README-filen
· Fjernet yc_template kommandomodulen kildefilen
· Scripts / config.pl nå også godtar q og avslutter som en kommando
· Minor bugfix i skript / config.pl
· Noen forbedringer i src / configure
· Endret noen standardverdier i src / glob.h
Hva er nytt i 0.7.9.5 Release:
· Denne utgivelsen legger .pm gjenkjenning for å scripts / stats.pl.
· Det endrer README (ny CVS pserver adresse).
· All CPP, .h, og .tmpl filer har nå en ny kilde header hjelp docs / header.txt som header skjelett.
· Noen mindre feilrettinger ble gjort.
Prog.varedetaljer:
Versjon: 0.7.9.5
Last opp dato: 3 Jun 15
Lisens: Gratis
Popularitet: 197
Kommentarer ikke funnet