在网站上进行即时通讯的最佳方式是啥? [关闭]
Posted
技术标签:
【中文标题】在网站上进行即时通讯的最佳方式是啥? [关闭]【英文标题】:What is the best way to make instant messaging on website? [closed]在网站上进行即时通讯的最佳方式是什么? [关闭] 【发布时间】:2018-12-26 20:39:43 【问题描述】:我目前正在 Symfony 4 上创建一个网站,我想集成一个即时消息系统,例如 messenger,可以创建讨论组。
问题是我不知道使用哪种方法。 Symfony 没有为此提供任何东西,在我看来,ajax 似乎根本没有优化,因为向服务器发出了许多请求。 我应该使用与 nodeJs 耦合的 websockets 吗? 或者使用 Rachet 图书馆?因为我不懂NodeJs,在项目中集成一个新技术可能并不适合所有人
那么,支持大量用户的最优化系统是什么?
谢谢,
【问题讨论】:
【参考方案1】:你有两个选择:
自己实现
在您的情况下,您需要以下内容:
在您的云中安装一些 XMPP 服务器。它可能类似于Ejabberd、Prosody、Tigase、Openfire 在客户端 - 使用 XMPP 库连接到 XMPP 服务器并发送/接收消息。在 Web/Web 面板上 - 使用 StropheJS 对于任何服务任务 - 还有用于 php 的 XMPP 库使用一些消息传递 SaaS 平台
还有很多不同的消息传递平台,例如 Pusher、Twillio、Layer、ConnectyCube、Applozic 等。
我前段时间使用过ConnectyCube,它们支持 ios、android 和 Web 的消息、视频通话和推送通知功能。他们也有一些现成的代码示例可用,所以可以花一些时间开始。 Pricing 是一个有竞争力的。所以可以通过以下方式完成:
javascript/网络聊天 SDK 和代码示例https://developers.connectycube.com/js/messaging希望对你有帮助
【讨论】:
何非常感谢! :D 你的解决方案不使用 websocket 吗? @Bastien 所有这些解决方案都使用 WebSocket 作为网络上 XMPP 的传输。【参考方案2】:只需使用 pubnub.com,
这就像 5 行代码
https://www.pubnub.com/developers/demos/10chat/
现在从头开始构建聊天会很奇怪。
【讨论】:
这个网站是为我的初创公司准备的,所以我宁愿自己做,以避免支付费用或其他任何事情! :) 因为我在他们的网站上看到,一旦网站投入生产,您就必须付费 (support.pubnub.com/support/solutions/articles/…) 在拥有大量用户之前完全免费。请注意,如果您使用任何种类的云服务,您当然必须付费。 PubNub 无疑是世界上最大的消息服务。通常,当您想进行一些聊天时,您只需使用它。它将完全免费为您服务! (就像使用 AWS、Firebase 或任何对您免费的东西一样。) 哦?这将是完美的!因为在他们的网站上有两个类别:“Plan and build”和“Launch and Grow”并且只有“Plan and build”部分是免费的,但是如果我想通过我的应用程序获利,它不太可能变得有利可图? pubnub.com/pricing 老实说,当您的网站赚到足够的钱雇用一两个人时,您可以更改为其他系统。无论如何,您都必须为服务器付费。只需首先免费使用 pubnub 将其拼凑在一起。或 pubnub 的众多替代方案之一。以上是关于在网站上进行即时通讯的最佳方式是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
构建 Android XMPP 即时通讯工具和服务器示例 [关闭]
IM音视频即时通讯系统EasyRTC如何利用webrtc技术进行优化和发展?