今天的想法是实现一个聊天室 并在以后不断晚上
聊天室是可以实现在线多用户同步即时聊天的一个平台 这么理解吧
聊天室特点
1)支持多人在线
2)聊天的信息要实时显示 (不停地刷新)
3)可以踢人(系统自动踢人)释放资源
4)可以私聊、发送表情
实现聊天室的需要的技术有哪些?(大型、微型)
1)javascript 比不可少,用来添加事件、发送请求..
2)ajax (核心)异步通信是最关键之一(保证参聊人员的体验)
3)PHP+mysql 存储聊天数据
4)json 以对象的形式回传数据
实现聊天室最主要的目标是:
用户可以快速的发言,并且能够实时的显示出来~
难点:考虑如果10000人,每人1分钟 100句话?
这些聊天记录如何读取?
怎么样实现在线用户的判断(对于不活动的我们合适的时间踢出去)
1)假定当我们的在线用户15秒钟没有说话,我们就认为离线了,开踢
2)计算当前用户的最后一次发言时间和当前时间的差 (如何求差?)
3)在什么时间判断用户的活动时间?
额外的功能 (根据时间而定)
1)屏蔽“某人”发言~
2)发送表情
3)实现发送图片
.....
关于防跳墙机制的概念
我们开发中会设定一些区域只允许我们特定的用户使用,但是非指定的用户他们可以直接输入地址进行访问。
我们使用一种方法防止用户访问自己无权限访问的页面 就叫防跳墙
关于聊天室数据的建立
聊天的主表
id,speaker发言人,说的内容content,发言者的ip TheIP,发言的时间 Create_Time,face表情,对谁说 listener
在线用户表
id,username,lastTime
屏蔽表
id,speaker,listener