- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在创建一个社交网络网站,我需要一个 IM/聊天解决方案。
对话只是一对一的,用户只能与他们的 friend 聊天(即 Facebook 聊天 - 没有 channel ,没有房间......)。
该网站是用CodeIgniter(PHP)和MySQL数据库制作的。可能会放在VPS(Linux)上,所以我可以控制环境。此外,预计用户数量将超过 10 万。
所以,我需要一些关于如何进行聊天的想法。
到目前为止我的想法:
Node.js
和 socket.io
中创建聊天,并使其独立于网站的其他部分经过一些研究并阅读了一些关于 SO 的答案
https://stackoverflow.com/a/11362929/928540
https://stackoverflow.com/a/5654487/928540
我真的很喜欢 Node.js
和 socket.io
的想法,所以我想听听一些关于它的意见,也许还有一些指导、链接、帮助、教程......
最佳答案
Also, it is expected to have more than 100 000 users
我认为问题还在于有多少活跃用户/连接。
Ajax poll on every X seconds (not good solution for website this size).
确实如此。这是一个坏主意。
Implementing Jabber/XMPP system (I have no info about this, nor is it possible)
类似于 Ejabberd与 BOSH很受欢迎。我使用了 prosody,因为它非常容易安装,并且 strophe.js作为 BOSH 客户端(浏览器中的 JavaScript)。
Using 3rd party service (like Pusher.com)
最容易实现(没有扩展问题),但可能会变得昂贵。 5000 个同时连接将花费您每月 199 美元(太贵),我认为您可能需要吗?然后你又拥有大约 5000 个活跃连接,因此它是有利可图的(?)。
creating the chat in Node.js and socket.io, and having it independent from the other part of the website
非常流行的解决方案,但现在我相信一些用户遇到内存泄漏(但这可能已经解决)。这可能只是 websockets transport 的问题。另外,它可能并不是真正的泄漏,而只是 high memory usage because of lazy GC 。我建议在完全投入之前先进行分析。
关于php - 社交网站 IM/聊天系统的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11680567/
所以这个有点难以解释,但我会尝试一下: 我有一个带有 .boxes 类的 div。它是一些循环元素的包装。循环元素具有类.box。在这个元素中,还有两个元素。一种是 .box-header 类的 he
我有一个网站,我试图在调整浏览器窗口大小时使其表现得体。例如,我希望在有人缩小浏览器窗口时调整横幅图像的大小。网址是http://www.pfp-consortium.org 顶部的横幅在 CSS 中
我想知道情况,是将所有可能的元素都放在表单中更好,还是在用户需要时立即将元素添加到表单中更好。 我将尝试对其进行更多解释 - 我的表单具有 4 个输入和一个文本区域。然后我提供了可选值(大约 15 -
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
所以我一直在研究我正在构建的一个论坛,并且一直专注于它的一个方面,即如何在不在数据库中存储大量数据的情况下跟踪未读的帖子和通知。在查看了一些解决方案之后,我相信我想出了一个可能适合我需要的解决方案,但
编写一个高质量的软件应该是第一步。现在这是一个移动的目标。(我们有一些类似于 https://stackoverflow.com/questions/3716203/automatic-code-qu
我有一组存储在数组中的二维点。 我需要尽可能多地压缩它。最好是快速,但不要破坏交易,压缩率是目标。规则是: 一个点=一个32位的结构,存储为(x,y),每个坐标2个字节 坐标 = 8 位整数部分和 8
我的一个应用程序从服务器下载数据库。当我将应用程序安装到我的手机上时,它会正确下载文件并加载信息,没有抛出任何异常或任何东西。 但是,当我将 apk 上传到 Android Market Place
我们最近接到一位客户的电话,提示他们网站的页面底部有一些“看起来很奇怪的代码”。我们查看了源代码,发现 templates/master 中附加了大约 800 字节的恶意 javascript 代码。
以编程方式创建系统还原点是“禁忌”吗?我会在执行软件更新之前执行此操作。如果有更好的方法可以仅使用我的软件文件和数据创建还原点,请告诉我。 我想要一种方法,如果在更新期间一切都发生了故障(关闭/终止更
我有一个有很多相关模型的类问题。在我的应用程序的一个页面上,我列出了所有当前问题的摘要,以及来自相关记录的各种信息。最终,这是一个值的散列,然后我将其打印到一个 csv 样式的行中(从这里我将其称为“
我目前正在尝试从 NSClassFromString(NSString *) 方法创建对象。 我希望能够实现的是以下... NSClassFromString(stringType) *pageCon
使用 Intellij 想法,我如何找出使变量可见的原因? 困难时的示例: 假设你看 class A ,你会看到一个变量 something .如果你跳转到源代码,你会看到它是在 trait X 中定
在IntelliJ IDEA的代码样式设置中,没有.gradle文件的任何子类别(例如build.gradle),在“其他文件类型”下,没有任何选项可以修改花括号位置。我没有找到为.gradle文件设
我正在尝试按照here指令运行docker-compose,但它似乎陷入了循环。在安装Docker之前,我能够调出示例站点并进行一些外观上的更改,但是尝试使用docker-compose生成缩略图23
我正在使用 IntelliJ IDEA 12.1.4 来调试 Grails 应用程序。我开始调试 session 大约需要 2 分钟。我想尽可能避免重新启动。 我正在尝试调试一个 Controller
随着 .NET 4.0 的出现,MS AJAX 是否仍占有一席之地,或者您认为 JQuery 是否会扩展以包含 AJAX 的全部功能,并使我们所知的 MS AJAX 变得多余? 最佳答案 请记住,AS
需要帮助运行此示例 Google+ API Quickstart w/C# 应用程序,请使用 VS2015 并按照此处的说明操作:https://developers.google.com/+/web
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我有一个相当“疯狂”的想法,即在我的应用程序中拥有一个“存储过程”设施。基本上,我的应用程序以数据为中心,它可以通过某种形式的 Restful 界面访问数据存储。 我希望拥有以多种方式操作数据(这是一
我是一名优秀的程序员,十分优秀!