yChat是一個實驗,XML配置的,速度快,非常便攜,多平台的基於Web的聊天用C編寫的,它支持使用OpenSSL安全的SSL套接字,MySQL數據庫,並與幾乎所有的兼容服務器++且C一點點子支持框架和JavaScript的瀏覽器。
yChat運行它們POSIX.4a兼容,使用GNU GCC C ++編譯器3.1及以上啟用pthreads的所有服務器上。它的GNU通用公共許可證下開發的。
yhttpd是基於yChat插座和線程引擎很輕的Web服務器。
這裡是“yChat”的一些主要特點:
它的自由和便攜式
·yChat是在GNU通用公共許可證開發的,基於GNU
工具(GCC,使用gmake),其他的開源庫的東西(如等的libncurses)
並應在任何的POSIX功能的操作系統上運行(如所有基於Linux的
系統一樣,FreeBSD,NetBSD的,OpenBSD和其他的BSD系統和Unix系統一樣
IRIX,HP-UX,的Solaris等)。
沒有必要為特別的聊天客戶
·yChat是基於Web的,這意味著客戶只能連接到聊天服務器
與正常的網頁瀏覽器,如Microsoft Internet Explorer或任何Gecko-
引擎的瀏覽器的powerd如Mozilla,Firefox和卡米諾等。
它有一個真正的HTTP Web服務器的功能
·yChat完全運行獨立,不需要另外的網絡服務器建立
上如Apache,並不需要通過任何種類的CGI的運行。 yChat創建
它自己的插座定制端口(標準端口:2000),似乎是一個完整的
功能HTTP Web服務器向客戶端(Web瀏覽器)。
·該yChat代碼庫可以automaticaly轉換為yhttpd代碼庫。 yhttpd
是yChat的它運行完全獨立,並提供網絡服務器的子集
正常網站的網。它也支持公共網關接口(CGI)
腳本。
它的快速和安全
·yChat是用C ++編寫這比任何基於Java的聊天服務器或任何更快
服務器寫在如PHP,Python或Perl這樣的腳本語言。由於
內部數據結構哈希映射用於garuantee某些搜索
在O值(1)的時間。如果一個哈希地圖已滿,它將被重新處理。
目前,yChat已被測量,提供每秒超過1000次點擊/請求
在基於FreeBSD的服務器中使用時CPU使用率低於2%
上的Athlon XP 1900+。表現似乎只有你的帶寬是有限的。
此外,每個用戶都有自己的會話ID(隨機字符串)與標準長度
50個字符,可以相互驗證登錄的用戶。會話ID的長度
可以重新定義為好。此外,會話ID將得到MD5散列可選
因此多數民眾贊成更難逆向工程其他用戶的會話ID。
此外,yChat支持安全超文本傳輸協議(HTTPS)連接
使用OpenSSL庫。然後,所有的聊天信息將在加密
安全的方式。 HTTPS是可選的,以HTTP(不安全的連接)。
它的HTML模板和基於易於通過基於XML的配置定制
·所有的HTML網站進行預定義為HTML模板文件,可以很容易地修改
與定制的網頁設計使用。此外,很多yChat喜好可
主配置文件(ychat.conf)的設置。 ychat.conf完全寫入
以XML 1.0,這使得它更容易使用的配置選項中的節目
第三人可能想要寫一些有用的工具yChat。
yChat緩存所有的HTML和網頁中的圖像,以提高整體性能。如果需要的話,該
緩存可清除重新緩存模板文件的新版本。
它的語言模板基礎
·管理員可以輕鬆地創建一個新的語言中,所有系統消息
出現在聊天的用戶。預定義的語言是英語,但也有的可能
很容易地添加。該語言可以編輯的基於XML配置文件中。
基於MySQL的數據庫
·註冊用戶存儲在MySQL數據庫。 C ++程序員可能會覺得免費
與其他數據庫例程替換數據庫包裝類(data.h)
使用其他數據庫如PostgreSQL的,SQLite的或基於文本數據庫等。
如果願意,你可以在預編譯選項禁用數據庫的支持。
它有一個管理界面
·yChat包括一個基於ncurses的管理界面追踪一些
有趣的統計數據和系統信息,使您做一些
管理任務。此外,您可以切換到CLI(命令行
要與提供,以便管理界面的接口)模式
更多可用的功能(例如跟踪當前的系統使用的等)。
如果你不喜歡的ncurses和/或CLI可以禁用預兩種選擇
編譯選項。
它具有記錄功能
·該日誌管理器跟踪所有yChat系統消息(例如用戶
至極登錄和退出,這是加載的模塊中,MySQL查詢等)。此外,一個
Apache風格相結合的日誌文件格式由yChat創建(你可以解析這個
日誌文件中包含的AWStats所有的Apache日誌分析器等)。最後但並非最
至少,所有可用客房的所有公共信息將被記錄到磁盤
良好。為了提高性能,您可以定義日誌河豚(標準地
新的日誌將被寫入磁盤的每個20行之後)。如果你想記錄
馬上的一切,你可以在ychat.conf重置此選項設置為1。
通過自己的命令和動態HTML引擎採用模塊化
·所有聊天命令都通過動態加載模塊文件實現這可
重新編譯和重新加載無需重新啟動整個yChat服務器。還
HTML的網站與特定的任務可以被編譯成像模塊
MODS / HTML / yc_register.so,MODS / HTML / yc_options.so和MODS / HTML / yc_colors.so
等,所以你也可以編寫C ++中的動態yChat網站。
其多線程(POSIX線程)
·只有一個主要方法,其派生多個線程,每一個用於它自己的
唯一的任務。例如一個線程用於處理套接字管理器,它
等待進入的TCP / IP請求,另一個線程調度系統定時器
這證明,如果客戶仍然活躍或不,將釋放內存需要在某些
時間間隔(參見“垃圾回收器”)。此外,每個聊天用戶得到它自己
線程。沒有必要的存儲器浪費通過為每個任務的新
流程。所有用戶線程由一個線程池,以避免CPU浪費管理
通過重新使用已完成線程創建的對象每次一個新的線程的
已經就業並已逐出到線程池的隊列中。該
隊列和總池大小的標準尺寸可以在ychat.conf進行設置。
它採用了智能垃圾收集引擎
·所有用戶和室,不必須保持在主存儲器(因為
用戶已註銷或房間已被破壞,因為它是空的)會
不立即被刪除,但是被放置約10分鐘,在yChat
垃圾收集器。一個新的房間創建系統每次檢查
垃圾重用非活動室對象。如果某用戶想要在,則登錄
系統檢查,如果他是已經存在於垃圾收集器。如果是的話,他將
不浪費昂貴的數據庫查詢來獲取用戶的重新激活
選項。這提升了重倉yChat服務器,如果整體表現
很多用戶和房間對象的創建和銷毀頻繁。
有什麼新的0.8.2版本:
·修正了一些錯別字
·添加了 - 版本 - 段成README文件
·刪除了yc_template命令模塊的源文件
·腳本/ config.pl現在也接受Q和退出的命令
·在腳本中小bug修正/ config.pl
·在SRC /配置一些改進
·在src / glob.h改變了一些默認值
有什麼新的0.7.9.5版本:
·此版本增加的.pm檢測到腳本/ stats.pl。
·它修改的自述(新CVS的pserver地址)。
·所有的.cpp,.h和.tmpl文件現在使用的文檔/ header.txt作為標題骨架有一個新的源頭。
·一些小bug修正作了發言。
按類別搜索
熱門軟件
-
Porteus MATE 12 Jan 17
-
Google Music Manager 15 Apr 15
-
Linpus Linux Lite 17 Feb 15
-
Cactus McCoy 2 20 Feb 15
-
AirSnort 3 Jun 15
-
KAVClient 3 Jun 15
-
Kali Linux 22 Jun 18
評論沒有發現