T. *_*maz 5 php mysql node.js socket.io laravel
嘿那里stackoverflow!我正在开发一个Laravel3社区,我正在努力实现一些Facebook风格的私人消息.
我做了编码部分,但我和我的朋友非常同意添加实时消息通知.我做了我的研究,我不能说我找到了一篇关于这个的好文章,其中一些开始oh you know everything about matrix so lets socketsocketsocketsocketsocket我很困惑如何开始,从哪里开始,反正这是什么,很多人说这是go with MongoDB never use MySQL again.什么哎?我正在使用MySQL我在Laravel中创建了一个不错的私人消息系统,我想添加实时通知!
我想做的就是
我怎样才能做到这一点?Socket.io最好的选择呢?如果是的话我该如何使用它?任何片段都会如此棒!或关于我的情况的教程:)
我真的很感激
Bra*_*rad 10
你有思考的问题"X永远比Y好,所以总是使用X".它可能有一个名字......甚至可能是一本书或两本书.谁知道.让我们从你的第一个问题开始:
什么是这个狗屎无论如何,许多人说"与MongoDB一起再也不用MySQL了." 老兄到底是什么?
你应该停止与任何人说过这段时间.MySQL和MongoDB是两种非常不同类型的数据库的数据库系统.它们通常被称为基于表格和基于文档的.使用MySQL(许多其他利用SQL的数据库......可能还有一些不使用SQL),您的数据存储在一组非常具体的模式概述的关系表中.此表中的每条记录都符合具有特定类型集的特定字段集.这种类型的数据库非常适合多种数据.
MongoDB是基于文档的各种数据库,通常称为"NoSQL"(意思是非SQL).每个"文档"可以具有整个结构,包括具有子项和子项的节点.每个文档都可以拥有自己独特的数据集.文档存储在"集合"中.这种类型的数据库有一些优点......对于某些类型的操作来说它可以非常快.这就是说,对于其他事情来说这很糟糕,例如当你有一堆数据完全相同时.像这样的数据库上的数据聚合非常慢(但它一直在变得越来越好!).
我想说的是MySQL和MongoDB只是不同的工具,专为不同的工作而设计.因为你的朋友告诉你螺丝比指甲更好,所以不要用螺丝刀敲打钉子.
我想做的就是:UserA向UserB发送消息; 消息已插入privmsg表.套接字或你建议的任何东西,告诉UserB的浏览器有来自UserA的+1新消息; UserB看到有一条未读消息没有刷新他的页面并点击阅读它.
再次,为工作选择工具.知道你的工具是一个好的开始.Socket.IO旨在建立服务器和客户端之间的通信通道.它提供类似Web套接字的功能,通常用于Node.js服务器和Web浏览器之间(但也可以在其他环境中使用!).它的两个主要特性是,当Web套接字不可用时(它与旧浏览器兼容)它提供后备传输,并且它在一些简单的调用中包装了一个事件消息系统.您不必担心底层沟通.只是emit和一端的事件,它被解雇了另一端.简单.
对于服务器和浏览器之间的实际通信,Socket.IO是一个很好的选择.它提供近实时通信.但是,Socket.IO不仅仅是一些可以解决你所有问题的魔法.如果是的话,几乎每个人都没用.
由于您的消息需要保留,因此将它们存储在数据库中是个好主意.我会怎么做:
你想要一个教程吗?Socket.IO主页上的例子非常好:http://socket.io/
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |