PHP聊天室技术推荐查看本文HTML版本

1.前言

上网聊天是时下最流行的交友方式。各大网站推出的聊天室都各具特色。

聊天室主要分为WebChat、BBSChat两种。BBSChat是基于Telnet的Tcp协议,是BBS的附设功能,需要客户端Telnet程序。WebChat则采用浏览器方式,实际上是一个多人共同使用的CGI程序。其基本原理是把每个用户的发言通过浏览器传给系统,再由系统收集处理后分发给特定用户。

WebChat一般采用Server Push或Client Pull技术。两种技术的区别在于使用不同的方式将数据分发给用户,Server Push是由服务器将数据以多重MIME编码,推给(push)使用者端,目前较少网站使用这种方式。Client Pull则是用户从服务器拉(pull)所要的数据。

最常用的Client Pull就是利用Html语言的Meta标签http-equiv="Refresh" 的属性,每隔一段时间就检查服务器上是否有新的数据。例如,每隔5秒钟就会刷新一次页面。这种方法简单有效,缺点是刷新时会产生闪烁的现象;而且为了保持效率,每次刷新都会把旧的聊天内容清除,用户想查看或保留对话内容都很不方便。为此,采用JavaApplet作为聊天室的前端,利用刷新把从服务器Pull的数据通过JavaApplet来显示也是一种解决方案。还有就是本文要介绍的使聊天程序保持连线的方案。方法一,把聊天程序设置为无限大,就能使浏览器不停地保持下载的连线状态;方法二,聊天程序中存在着无限循环,因为可以方便地设置更高级的功能,所以在此选择采用。

php聊天室技术,PHP聊天室技术相关推荐

  1. 采用PHP实现”服务器推”技术的聊天室

    传统的B/S结构的应用程序,都是采用"客户端拉"结束来实现客户端和服务器端的数据交换. 本文将通过结合Ticks(可以参看我的另外一篇文章:关于PHP你可能不知道的-PHP的事件驱 ...

  2. 聊天室登录php,聊天室技术(二)-- 登录_PHP

    1 页面登陆幕疽? 你可以在我的竹叶看到登陆的表单,这里提供了最基本的登陆表单项 (1)登陆表单 (a)聊天表单的名字为chatform,我使用action=enter作为进入聊天室的入口,如果没 ...

  3. 高性能Web开发技术”网上聊天活动

    本期嘉宾:郭红俊(ghj1976),孟宪会(孟子E章) ,刘如鸿(策划编辑) 聊天主题:高性能的Web应用程序开发 嘉宾[主持人]: 各位网友大家下午好! 欢迎大家到CSDN嘉宾聊天室. [2004- ...

  4. 《msdn开发精选》“高性能Web开发技术”网上聊天活动

    <msdn开发精选>"高性能Web开发技术"网上聊天活动 本期嘉宾:郭红俊(ghj1976),孟宪会(孟子E章) ,刘如鸿(策划编辑) 聊天主题:高性能的Web应用程序 ...

  5. “高性能Web开发技术”网上聊天活动

    本期嘉宾:郭红俊(ghj1976),孟宪会(孟子E章) ,刘如鸿(策划编辑) 聊天主题:高性能的Web应用程序开发 嘉宾[主持人]: 各位网友大家下午好! 欢迎大家到CSDN嘉宾聊天室. [2004- ...

  6. vue仿QQ聊天室|vue聊天实例,直播聊天室

    图片压缩 百亿站点 基于vue2.0+vue-cli+vuex+vue-router+webpack+es6+wcPop等技术开发的仿微信聊天界面|仿微信聊天室vue-chatRoom,实现了微信聊天 ...

  7. THINKPHP聊天软件H5实时聊天室自动分配账户全开源商业源码

    介绍: THINKPHP聊天软件H5实时聊天室,自动分配账户,全开源商业源码 都是去年买的,很多买的源码基本都下架了, 源码的优点: 运营版本的聊天室,可以添加好友,建立群组,私聊,禁言功能 H5+T ...

  8. 网络编程基础_5.3聊天室-多人聊天室

    聊天室-多人聊天室 #include <stdio.h>// 1. 包含必要的头文件和库, 必须位于 windows之前 #include <WinSock2.h> #prag ...

  9. 如何设计一个聊天机器人?谈谈聊天机器人技术栈

    如果你正在为一个客户设计一个聊天机器人(咨询,开发,原型设计--),这段对话可能听起来很熟悉: 客户:「实现我的机器人最佳技术的是什么?」 我:「不仅仅是一项技术,而是一系列的多种技术.每项技术都可以 ...

最新文章

  1. windows下 composer常见问题及处理
  2. python介绍和用途-python python简介及其特点
  3. 命令行 笔记本键盘禁用_宏碁发布Enduro系列三防笔记本电脑和平板电脑
  4. Xcode7查看iphone真机的应用程序文件
  5. Java当中用 javabean和其他容器存入表格数据 或 利用 容器进行存储表格
  6. 基本的排序算法php,php四种基础排序算法
  7. linux指令与数据库,Linux指令每日背诵(第一天)
  8. html表单提交后显示,javascript – 在表单提交后在页面上显示消息
  9. [导入].Net 中处理Word(2007)文档的一种方法
  10. 『飞鸽』彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter
  11. Android中DisplayMetrics 获取手机屏幕分辨率
  12. (19)Xilinx PCIE中断理论(学无止境)
  13. 【redis】redis实用Utils
  14. 深度学习 对比两张图片的差异_什么是人工智能、机器学习和深度学习,三者之间又有什么差异?...
  15. 开课吧:MySQL索引的使用知识有哪些?
  16. Elasticsearch 实战(四、分词与IK分词器)
  17. Spring Cloud Netflix Eureka
  18. java接收二进制数据,java接口接收二进制流
  19. 手机电源键关不了屏幕_手机关机关不了,屏幕也划不了,怎么办
  20. 读LockSupport源码

热门文章

  1. 海康、大华IPC的rtsp格式
  2. .net中使用XPath语言在xml中判断是否存在节点值的方法
  3. [Leedcode][第215题][JAVA][数组中的第K个最大元素][快排][优先队列]
  4. zemax模拟ld_Zemax光学设计实例(83)在非序列模式下LD阵列的光束整形
  5. linux验证cuda安装成功_Linux环境CUDA 4.0入门:验证安装
  6. 带孩子们做环球旅行的读后感_父母带孩子做心理咨询,需要注意哪些事项?
  7. npu算力如何计算_CPU、GPU、NPU、FPGA等芯片架构特点分析
  8. mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理
  9. springboot整合elasticsearch_Spring Boot学习10_整合Elasticsearch
  10. mysql dodba_doDBA