| 关键词: 数据 服务器 持久 ajax php important 用户端 iframe 用户名 comentbyiframe |
欢迎在php严程序 - php教程学习ajax教程, 本节课讲解:php开发客服系统(持久连接+轮询+反向ajax)php开发客服系统(下载源码)用户端(可直接给客户发送消息)客服端(点击用户名.即可给该用户回复消息)讲两种实现方式:一:iframe + 服务器推技术comet(反向ajax,即服务器向浏览器推送数据)二:ajax持久连接 + 长轮询客服端采用第一种方式:iframe + 服务器推技术思路:1:新建comentbyiframe.php 该用文件使用while(true)一直连接到服务器不断开.如果在while的过程中查到了新数据.使用ob_flush推给apache服务器.apache再用flush推给浏览器.2:新建html页面,插入一个iframe. 该iframe的src为comentbyiframe.php。并隐藏iframe。comentbyiframe.php获取的数据用js输出到父窗口中的某个函数.该函数把信息追加到指定的聊天窗口中3:只要客户端收到用户发来的数据. 就显示为"xx对你说..". 客服端只要点击用户名。即可给该用户发送数据.用户端采用第二种方式:ajax持久连接 + 长轮询ajax持久连接:文档加载完毕后(或其他时机),使用ajax请求一个php文件被请求的php文件通过while(true)循环.迟迟不给apache返回数据的目的.轮询指:请求服务器的时候.如果服务器没有数据.则一直等.当服务器有数据后.就返回给客户端.这样请求、响应过后就完成了一次HTTP请求. 还没完.客户端收到数据后又到服务器要数据.这就是轮询就好像一个乞丐一样. 不给他钱,他就一直跟着你要. 你给他钱以后.他还不满足,又跑来找你要.实现思路:进入用户端后.如果没有用户名.使用setcookie设置一个用户名.然后通过ajax持久连接. 不停向服务器索要数据(即客服发送给该用户的记录)数据表设计:create table liao(id int auto_increment primary key,rec varchar(10) not null default '' comment '接收者',pos varchar(10) not null default '' comment '发送者',content varchar(30) not null default '' comment '发送内容',isread tinyint not null default 1 comment '0已读1未读')engine myisam charset utf8;客服端首页:index.php1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|