您的位置:

phpmysql聊天室,畅聊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