本文目錄一覽:
- 1、ajax+php+mysql製作的聊天室,因為每秒刷新一次,時間一長APACHE佔用服務器的資源就相當大,CPU可能到100%
- 2、誰有PHP+AJAX+MYSQL寫成的PHP聊天室源代碼?
- 3、使用PHP+MySQL製作一個動態網站
- 4、聊天室用啥做好“asp.net?java?php?….
- 5、PHP如何實現聊天室
ajax+php+mysql製作的聊天室,因為每秒刷新一次,時間一長APACHE佔用服務器的資源就相當大,CPU可能到100%
你可以這樣,使用memcached 做緩存,每秒讀取讓後台執行,後台每秒更新一次cache,客戶端每秒請求你讀取memcache 這樣就快多了,如果讀取緩存失敗,就處理你的業務(讀取數據庫等等),具體情況要看是數據庫讀寫慢,還是並發數高,如果並發數太高的話,只能加服務器負載均衡來解決,畢竟每個應用程序像hello,world那麼簡單.
——————————————————————
做緩存是必要的,100個客戶端發送請求,有一半是真正的請求業務處理,一半緩存里讀取,就會緩解許多
誰有PHP+AJAX+MYSQL寫成的PHP聊天室源代碼?
Dim Old_mge As String
Old_mge = Trim(text1.text)
If old_mge “” Then
Old_mge = Old_mge Chr(13) Chr(10) “—end—” ‘這兒要注意了!
Else
Old_mge = Trim(text1.text)
End If
text1.text = Old_mge
看看你的代碼,相似的問題可能出現在我標示的要注意的地方了。
使用PHP+MySQL製作一個動態網站
如果不COPY別人的代碼,你這麼多功能,光輸入就得花一些日子,我估計你們老師可能會給你們一個月以上的時間。
如果開發得好,這些功能加起來可以值一萬塊,賣給小型企業的話。
最後我要說的是,希望你自己寫吧,這樣對你有好處,或者自己去下載個商業的來修改,例如UCHOME
聊天室用啥做好“asp.net?java?php?….
要根據需求來選擇使用的技術
.net絕對是最快的,對於聊天室而言,也是安全的。
事實上,聊天室使用.net,java,php都不用擔心安全的問題。
如果是大型聊天室,建議使用java,jsp程序並發性非常好。
asp,php都是適合快速的小型的聊天室
jsp(java),php可以跨平台
聊天室有一個與一般程序明顯不同的特徵,它需要把大量公共聊天記錄保存在application對象中,與個人相關的保存在session當中。所以以往,一個asp開發的聊天室的並發量一般是200人。
以前的網易聊天室好像就限定了聊天人數。
如果使用java,這可突破千人以上。
目前國內大型的聊天室均採用java開發,他們的系統不是一個簡單的聊天室,他們有好多的頻道,頻道下面有好多的房間,每個房間又幾千人的容量,這就需要一個穩定,強負載,安全的企業級平台,java(j2ee)當仁不讓是他們的唯一選擇。
PHP如何實現聊天室
1,配置文件
複製代碼代碼如下:
?php
define(‘PATH’,dirname($_SERVER[‘SCRIPT_NAME’])); //聊天室目錄
define(‘CHAT_NAME’,’PHP聊天室’); //聊天室名稱
define(“MESS”, “mess.txt”); //聊天信息
define(“PERSON”, “person.txt”); //在線人名單
define(“RETIME”,3); //刷新時間
define(“LINE”,11); //公共窗口顯示的行數
define(“PRLINE”,5); //私聊窗口顯示的行數
define(“MAX”,50); //聊天室人數限制
define(“MAXTIME”,600000); //最大不發言時間,單位是毫秒
define(“WELCOME”,”font color=blue歡迎光臨”.CHAT_NAME.”,請遵守聊天室規則,不要惡意刷新,不要使用不文明用語。/font”); //歡迎語
?
2,公共函數文件
(1)chklogin()函數檢查用戶昵稱是否重複。參數$user是登錄用戶的昵稱。當函數返回值為True時,昵稱不可用;返回值為False時,昵稱可用。
複製代碼代碼如下:
function chklogin($file,$user){
$boo = false;
if(file_exists($file)){
$userarr = file($file);
/* 判斷昵稱是否重複 */
foreach($userarr as $value){ //判斷昵稱是否重複
$tmparr = explode(‘#’,$value); //使用“#”作為分隔符來拆分字符串
if($user == $tmparr[0]){ //如果用戶數組中包含此用戶
$boo = true;
break;
}
}
}
return $boo;
}
(2)addlogin()函數將登錄的用戶昵稱寫入文件中,保存格式為:昵稱#IP#性別,參數$file是保存的文件地址,$user是用戶昵稱,$ip是登陸IP,$sex表示用戶性別。
複製代碼代碼如下:
function addlogin($file,$user,$ip,$sex){
$tmp = $user.’#’.$ip.’#’.$sex.chr(13).chr(10); //chr(13) 是一個回車,Chr(10) 是個換行符,chr(32) 是一個空格符
$fp = fopen($file,’a’); //寫入方式在文件末尾追加信息
$boo = fwrite($fp,$tmp);
fclose($fp);
return $boo;
}
(3)storeuser()函數的作用是將用戶信息存為一個數組。格式為“用戶名,用戶性別”,參數$file是用戶列表文件。代碼如下:
複製代碼代碼如下:
function storeuser($file){
$tmparr = file($file); //將文件內容寫入數組
$userarr = array(); //創建數組
foreach($tmparr as $value){ //循環輸出數組內容
$tmparr = explode(‘#’,$value); //使用#拆分字符串
$userarr[] = $tmparr[0].’,’.$tmparr[2]; //將用戶名和用戶性別保存到新數組中
}
return $userarr;
}
(4)addmess()函數將發言內容寫入文件中。參數$file是保存的文件地址,$mess是要保存的內容
複製代碼代碼如下:
function addmess($file,$mess){
$fp = fopen($file,’a’); //以追加的形式打開文件
$boo = fwrite($fp,$mess.chr(13).chr(10)); //將信息寫入文件中
fclose($fp); //關閉文件
return boo;
}
(5)deluser()函數的作用是刪掉用戶。參數$file是保存的文件地址,$user是要刪除的用戶
複製代碼代碼如下:
function deluser($file,$user){
$tmparr = file($file); //將文件內容寫入數組
$rearr = array(); //創建數組
foreach($tmparr as $value){ //循環輸出數組內容
$tmp = explode(‘#’,$value); //使用#拆分字符串
if($tmp[0] != $user){ //如果變量中的用戶名和當前用戶不相等
$rearr[] = $value; //將該用戶信息保存到新數組中
}
}
$fp = fopen($file,’w+’); //以只寫的方式打開文件
foreach($rearr as $value){ //循環數組
fwrite($fp,$value); //寫入數組內容
}
fclose($fp); //關閉文件
}
(6)getRows()函數的作用是返迴文件的行數,參數$file是文件名
複製代碼代碼如下:
function getRows($file){
if(file_exists($file)){ //如果文件存在
$fl = file($file); //將文件按行寫入數組
return count($fl); //求出數組長度並返回
}else{
return 0; //如果文件不存在,返回0
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195294.html