Database 在哪里可以找到用于多室聊天的soket.io高级教程?
有很多socket.io“how to”可以创建最简单的聊天室,但我没有发现任何关于如何将其用于更高级聊天室的内容 我从零开始创建了一个聊天系统(使用php/mysql/ajax),具有以下特点:Database 在哪里可以找到用于多室聊天的soket.io高级教程?,database,sockets,client-server,chat,Database,Sockets,Client Server,Chat,有很多socket.io“how to”可以创建最简单的聊天室,但我没有发现任何关于如何将其用于更高级聊天室的内容 我从零开始创建了一个聊天系统(使用php/mysql/ajax),具有以下特点: 高级会员管理(登录、头像、个人信息、存储的专用伪码等) 用户可以加入现有聊天室或创建新聊天室 可以在每个公共聊天室内创建私人聊天室,以便与任何人私下交谈 通过根据成员的伪地址和/或IP地址驱逐成员、删除特定消息等方式管理和调节每个聊天室的可能性 等等 问题是,我创建的系统不具有很强的可伸缩性,因为
- 高级会员管理(登录、头像、个人信息、存储的专用伪码等)
- 用户可以加入现有聊天室或创建新聊天室
- 可以在每个公共聊天室内创建私人聊天室,以便与任何人私下交谈
- 通过根据成员的伪地址和/或IP地址驱逐成员、删除特定消息等方式管理和调节每个聊天室的可能性
- 等等
PS:我尝试使用“socket.io”和“tutorials”标记,但即使它们存在,出于任何原因,我也不允许使用它们…为了更好地扩展聊天系统,您是否尝试过Meteor。它构建在Node.Js上,可以轻松连接到MongoDB
IMHO,这是创建实时web应用程序的最佳选择。如果您需要关于基于节点的聊天的高级教程,请检查以下内容: 它是构建在BackBone.js上的Node.js和Socket.js。 这是一个非常好的教程,介绍了如何构建一个应用程序,用户可以创建/加入/离开聊天室并相互交谈。你可以扩展这个应用程序,给聊天室的创建者“权限”,将他标记为“admin”,然后理论上他可以向服务器发出admin命令,例如“静音用户”、“禁止用户”、“删除某条消息”等等。这很简单,因为您所要做的就是从客户端侦听这些消息,然后在服务器上执行操作 因此,如果某个用户在服务器上被标记为“Admin”,然后他想删除聊天室中某人的消息,那么您可以在服务器上执行以下操作:(粗略示例)
谢谢Chaithaya。我真的不在乎使用什么,只要它解决了可伸缩性问题,对一个业余开发人员来说是可以访问的,最重要的是,它有适合我上述需求的教程(见我上面的帖子)。我会看一看你的链接。谢谢。我很抱歉chaithanya。Meteor可能比socket.io更好,但我真的不知道,但它给我带来了同样的问题(“让你最简单的聊天系统在3分钟内运行”综合症)在线教程更少。在这3分钟之后,我陷入了困境。这似乎没有那么复杂,但所有这些套接字管理系统都假设用户足够先进,可以获得10行代码和API参考指南等所有内容。对于像我这样的人来说,这是一个空白,我找不到任何教程来填补。上面的链接已断开,但她的e是git-repo链接,如果有人正在阅读代码,这可能会有所帮助。
...
io.sockets.on('connection', function (socket){
socket.on('deleteMessage', messages.delete );
});
var messages = {
save : function(msg){
// saves a message to the DB (which is sorted by rooms)
},
remove: function(user, data){
// check if the 'user' is either an Admin or the person who wrote that message
...
// if it's either one of them, then find that message in the DB, then
// remove it, and update all clients' sockets.
socket.emit('messageRemoved', data);
},
add: function(msg){
// update all clients with current message
},
...(more methods)
}