网路虚拟谈话空间 聊天室


网路虚拟谈话空间 聊天室

文章插图
聊天室(网路虚拟谈话空间)【网路虚拟谈话空间 聊天室】聊天室(chat room)是一个网上空间 , 为了保证谈话的焦点 , 聊天室通常有一定的谈话主题 。任何一个联入Internet、使用正确的聊天软体 , 并且渴望谈论的人都可以享受其乐趣 。聊天室会话是自然会话在资讯时代的延伸 。合作原则解释不了聊天室会话的诸多问题,没有其适用性 。聊天室有语音聊天室和视频聊天室等分类 。
基本介绍中文名:聊天室
外文名:chat room
类型:网路论坛
分类:视频类、文字类
基本介绍网路聊天室通常直称聊天室 , 是一种人们可以线上交谈的网路论坛 , 在同一聊天室的人们通过广播讯息进行实时交谈 。聊天室可以建立在即时通讯软体(如MSN Messenger、QQ、Anychat)、P2P软体、全球资讯网(如 Halapo,Meebo ) 等基础上 , 全球资讯网方式更为普通和种类繁多 , 交谈的手段不局限于文本 , 更包括语音、视频 。通常聊天室是按照房间或频道为单位的 , 在同一房间或频道的网人可以实时地广播和阅读公开讯息 。一般情况下 , 与其它网路论坛、即时通讯不同的是 , 聊天室不保存聊天记录 。聊天室基本原理是 , 抛开CGI和WWW伺服器 , 根据HTML规範 , 接收到浏览器的请求以后 , 模仿WWW伺服器的回响 , 将聊天内容发回浏览器 。在浏览器看来就像浏览一个巨大的页面一样始终处于页面联接状态 ,  这就是一个专门的聊天伺服器 , 一个简化了的WWW伺服器 。聊天者只需在想要进入的聊天室注册自己的用户名、密码后 , 登录进入某一个聊天室(大多数网站都有很多的聊天室) 。在聊天室里 , 一般都会列出正在聊天人的名单 , 并且对新人进入进行提示 。聊天者在一个对话框里留言 , 写下的话会立刻被其他人看到 , 并收到回应 。用户也可以在聊天室内看别人对话 , 而自己不说话 , 这种行为一般被称作“潜水” 。由于聊天室里的话语都是立即可见的 , 所以需要一个管理员来维持秩序 。管理员会制定一些基本的规章制度让大家来遵守 。比如 , 当聊天者刚进入聊天室的时候 , 应该向大家介绍自己;当你向某人说话时 , 应该明确指明说话对象;举报一些恶意说废话者 , 他们反覆说同样的话 , 使对方经常滚屏 。聊天室的话题涉及方方面面 , 如 , 经典电影、爱尔兰历史、警察暴行、精神食粮 。有的网站 , 如Yahoo , 提供分专题的聊天室 。有的网站 , 如MSN , 可以指导用户创建自己的话题聊天室 。分类视频类视频聊天室是在一个网站中或者客户端软体中 , 供许多人通过文字与视频进行实时(您输入的内容马上就能被别人看见)交谈、聊天的场所 , 它是一个向整个网际网路开放的地方 。例如:anychat、9158等 。文字类文字聊天室是网站中以文字或符号显示为信息传递方式的聊天方式 。聊天室有一对一聊天、多人群聊等形式 。文字聊天室多见于手机功能 , 或使用手机套用进行文字聊天 , 或使用浏览器作为载体进行网页文字聊天 。例如:omegle、妙恋佳人网手机wap聊天室等优点1.这样相比CGI方式来说 , 聊天室的优点就很明显 。2.不需要专门的WWW伺服器 , 在聊天伺服器里完成必要的工作 , 避开耗时的CGI 过程 。3.如果使用单进程伺服器 , 就不需要每次产生新进程 。4.数据交换完全在记忆体中进行 , 不用读写档案 。5.不需要定时刷新 , 减少萤幕的闪烁 , 减少对伺服器的请求次数 。实现流程一、 聊天伺服器实现流程用户数据输入都是通过URL传送 , 下面是几个URL实例 , 结合后面客户端流程 , 可以更好地理解系统结构 。这是一个用户名密码均为‘aaa''''的聊天用户登录系统 , 说了一句话“hello” , 然后退出所产生的一系列请求 , 其中密码用系统函式crypt加密过:二、客户端具体登录过程我们先看看聊天界面:聊天界面由三个frame组成 , 其中chat帧是聊天内容显示部分 , talk帧是用户输入部分 , 包括聊天内容输入、动作、过滤以及管理功能都在这一帧输入 , names是线上名单显示部分 , 这一部分是定时刷新的 。进入通常聊天室有两种 , 一种是基于网页的 , 还有一种是需要安装软体的 。我们来看看第一种浏览器的看看进入聊天室的过程 。1.首先浏览器请求页面:此时产生了一个连线到伺服器聊天连线埠的联接 , 并传送了一行数据:2.伺服器生成一个session ID , 验证密码以后 , 发回:然后伺服器关闭连线 。3.浏览器收到以上档案后 , 将会依次打开三个连线(其中的$sid和$encrypt_pass是变数):这三个联接中的第一个联接chat在整个聊天过程中都是保持连线的 , 这样从浏览器角度来看 , 就是一个始终下载不完的大页面 , 显示效果上就是聊天内容不是靠刷新来更新 , 而是不断地向上滚动 。通过察看代码可以看到 , 然后就是不断增加的聊天内容.另外两个连线在页面传送完毕以后 , 就关闭了 。这样一次登录聊天室实际上有四次连线 , 但登录完成以后 , 只有chat帧的是保持连线的 , 用于接收来自伺服器的聊天信息 , 这是聊天室的关键所在 。在伺服器端储存了所有参加聊天的客户的chat , 当有人发言时 , 伺服器就向所有chat传送聊天内容 。Talk与names帧的html实际上和普通的form是一样的 。4.在用户登录以后 , 伺服器端保存了一张包括用户信息的表格:在perl实现中 , 我们使用哈希结构储存信息 , 以session ID 作为key索引 。这样的存储结构便于存取数据 , 回收空间 。每个客户信息是一个数组:[name,passwd,privilige,filter,login_time,color]:储存chat帧联接name:用户名passwd:密码privilige:许可权filter:某个用户的过滤列表的引用(reference)login_time:记录登录时间 , 以便以后清除一些逾时联接 color:用户聊天颜色以上用户数据大部分是在login阶段 , 用户通过密码验证以后填入的 。只有chat要等到chat帧显示以后才得到 。如果超过一定时间 , 还是没有填入 , 说明浏览器取得主框架以后连线中断了 , 这时候就需要删除该用户数据 。以上是聊天室核心部分 , 其他部分 , 如用户注册、改密码等可以沿用CGI聊天室代码 。致于第二种就简单多了 , 下载聊天室程式安装后注册一个帐号 , 就可以登入了 。功能改进提供了聊天、悄悄话、动作这些基本聊天功能以及过滤用户名单这样的附加功能 。管理功能完成了踢人、查IP、任命室主 。今后需要改进的地方有: 稳定性:聊天室还没有经过大用户量测试 , 稳定性还不能充分保证 。由于是单进程循环伺服器 , 某个用户通信死锁将导致所有人死锁 。如果採用并发多进程伺服器 , 可以使稳定性得到提高 。但这样的系统对伺服器资源消耗也会大许多 。功能:自建聊天室等功能已完成 , 这些外围功能在稳定性有保证以后就可以比较容易地加入 。小技巧如何在聊天室改变字型的大小和颜色 , 还有传送图和音乐注意:以下一定要在英文状态下打 。使用< font>语句可以改变字的颜色、大小和字型 。例如:< font color=red face=宋体 size=3> hi< /font>颜色有:(灰色)gray,(海蓝)navy,(橄榄)olive,(洋红)fuchsin,(紫色)purple.(黑色)black, Olive, Teal, (红色)Red, (蓝色)Blue, Maroon, Navy, Gray, Lime,Fuchsia,(绿色)Green, Silver, (黄色)Yellow, Aqua大小:1~30.一般用"3~5".此外"< big>" "< strong>" "< b>" "< i>"等都可以使用 。具体的用法可以参考HTML语言的说明 。您也可以使用一些HTML工具编写好以后 , 再把源码拷过来贴上 。如果您要恢复字型的设定 , 请使用“< /font>” , 因为经常有人忘记把“< font>”和“< /font>”成对使用 , 你可要记得哟!传送图片: < img src=http://www.mancos-co.com/图片网址>例如: