游戏大厅从基础开始(5)--绕回来细说聊天室(上)2010-01-04 cnblogs 韦恩卑鄙Wiki定义的聊天室网络聊天室通常直称聊天室,是一种人们可以在线交谈的的网络论坛,在 同一聊天室的人们通过广播消息进行实时交谈。聊天室可以建立在即时通讯软件(如MSN Messenger、QQ)、P2P软件、万维网(如 Halapo, Meebo ) 等基础上,万维网方式更为普通和种类繁多 ,交谈的手段不局限于文本,更包括语音、视频。通常聊天室是按照房间或频道为单位的,在同一房间 或频道的网人可以实时地广播和阅读公开消息。一般情况下,与其它网络论坛、即时通讯不同的是,聊 天室不保存聊天记录。聊天室的基础功能定义

用户能够通过某种 形式连接到服务, 发送自己的信息给同样使用该服务的多人看到,并且看到同样使用该服务的别人发送 的信息。聊天室的行为一般的聊天室行为分为两种“推” 和 “拉”推聊天室推聊天室的行为接近一个中转点,或者说是一个广播站。

这种 聊天室简单明确。由于根本不需要保存信息 不会存在多个线程访问的临界数据,不会涉及到锁 也就不会产生相应的性能损耗。缺点也显而易见,它仅仅支持服务器可以直接向客户端推送的连 接(比如tcp, udp) ,http这种无连接的协议无法使用。如果是临时掉线,那么在重连前的所有数据也 都全都接收不到。变形品种 点对点聊天室

服务器把推送的义务 转交给客户端。这种方式对用户发送的内容控制力为0,如果不是tencent这种大牛 在伟大的社 会主义初级阶段的和谐社会里 你执还意作这类点对点聊天室,建议请个好律师另一种聊天室是拉聊天室

大多数基于http的聊天室都是基于这种模式变形。好处:支持无连接 支持无缝断线 重连坏处:具有公共数据 可能会引发并发冲突 可能会因为锁而降低性能。