【问题标题】: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,在项目中集成一个新技术可能并不适合所有人

那么,支持大量用户的最优化系统是什么?

谢谢,

【问题讨论】:

    标签: symfony instant-messaging phpwebsocket


    【解决方案1】:

    你有两个选择:

    自己实现

    在您的情况下,您需要以下内容:

    • 在您的云中安装一些 XMPP 服务器。它可能类似于EjabberdProsodyTigaseOpenfire
    • 在客户端 - 使用 XMPP 库连接到 XMPP 服务器并发送/接收消息。在 Web/Web 面板上 - 使用 StropheJS
    • 对于任何服务任务 - 还有用于 PHP 的 XMPP 库

    使用一些消息传递 SaaS 平台

    还有很多不同的消息传递平台,例如 Pusher、Twillio、Layer、ConnectyCube、Applozic 等。

    我前段时间使用过ConnectyCube,它们支持 iOS、Android 和 Web 的消息、视频通话和推送通知功能。他们也有一些现成的代码示例可用,所以可以花一些时间开始。 Pricing 是一个有竞争力的。所以可以通过以下方式完成:

    希望对你有帮助

    【讨论】:

    • 何非常感谢! :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 的众多替代方案之一。
    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2018-10-25
    • 1970-01-01
    相关资源
    最近更新 更多