【问题标题】:PHP with socket.io or recreate everything in node.js and socket.io?PHP 与 socket.io 还是在 node.js 和 socket.io 中重新创建所有内容?
【发布时间】:2017-10-28 11:32:25
【问题描述】:

我目前正计划编写一个私人项目,更具体地说是一个虚拟聊天室,化身可以在其中四处走动聊天。

现在我有点困惑,应该使用哪种语言对其进行编码。目前我已经将 PHP 用于后端,例如身份验证和 HTML 用于前端。

但我知道我需要使用 Javascript 将聊天室资产绘制到画布元素上。我需要使用 socket.io (node.js) 进行聊天和数据包。

现在我的问题是,我什至可以在后端使用 PHP 并使用 socket.io 进行服务器和客户端之间的通信以及聊天本身吗?

目前流程如下:

  1. 用户登录账号,后台检查在php中完成
  2. 用户被重定向到仪表板
  3. 用户选择菜单点世界
  4. 用户选择一个聊天世界并被重定向到另一个包含画布和聊天框的站点

第三步截图:Select world

第 4 步的屏幕截图:Canvas with chatbox

如何在构建画布后创建套接字以使用套接字 io 与服务器通信并创建聊天应用程序?

在没有 PHP 的情况下仅使用 node.js 和 socket.io 来编写整个网站会更容易吗(也用于用户认证等)?

感谢任何形式的建议和帮助

【问题讨论】:

    标签: php node.js socket.io


    【解决方案1】:

    hmmm 我假设你有很好的 PHP 技能,但对 nodejs/socketio 比较陌生。

    是的,nodejs 可以实时更好,但它是为了实现可伸缩性,它有它的生态系统,如果你不需要,你也可以在 PHP 中完成。但是,你可以同时拥有 php 和 nodejs,就是这样完全理智。

    它可能会这样:用于 http 请求的 php 和用于 websockets 连接的 nodejs/socket.io,如果您不需要从 nodejs 调用 php,则此设置将起作用,反之亦然(但两者仍然可以访问同一个数据库)。

    现在,如果您需要从任何一种方法调用,包括消息队列(如 RabbitMQ)或从其中一种或其中一种公开 HTTP API。

    至于在nodejs中编码整个事情我不会那样做,php在你提到的任务上非常好,我仍然认为使用nodejs进行聊天会更好。

    现在你提到它是私人的,在未来的团队成员中很重要。

    如果这个项目是为了学习目的,我确实认为无论您是否需要它的可扩展性和/或生态系统,掌握 nodejs 技能都会很好。

    【讨论】:

    • 您好,感谢您的回复!正如您已经假设我对 nodejs/socketio 相当陌生。并在多个使用 php 和 c# 的项目中工作。所以是的,我可能会使用你提到的方式来使用 PHP 进行 http 请求,使用 nodejs/socket.io 进行 websockets 连接。所以我可以像以前一样使用 PHP 进行身份验证部分,并在身份验证后使用用户对象创建套接字身份验证:)
    猜你喜欢
    • 2013-10-10
    • 2017-02-26
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 2014-12-23
    相关资源
    最近更新 更多