PHP与socket.io或重新创建node.js和socket.io中的所有内容?

时间:2017-05-27 19:21:40

标签: php node.js socket.io

我目前正在计划对私人项目进行编码,更具体地说是一个虚拟聊天室,其中虚拟人物可以在聊天中走动。

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

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

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

目前,流程如下:

  1. 用户登录帐户,后台检查在php
  2. 中完成
  3. 用户被重定向到仪表板
  4. 用户选择菜单点世界
  5. 用户选择聊天世界并重定向到包含画布和聊天框的其他网站
  6. 第3步的屏幕截图:Select world

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

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

    在没有PHP的情况下编写整个站点并使用node.js和socket.io(同样用于用户身份识别等)会更容易吗?

    我感谢任何建议和帮助

1 个答案:

答案 0 :(得分:1)

嗯,我认为你有很好的PHP技能,但对nodejs / socketio来说是新手。

是的nodejs可以更好地实时实现,但它更适合实现可扩展性而且它有自己的生态系统,如果你不需要你也可以在PHP中实现它。但是,你可以同时拥有php和nodejs,那就是完美的理智。

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

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

至于在nodejs编码整个东西,我不会这样做,php非常擅长你提到的任务,我仍然认为使用nodejs进行聊天会更好。

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

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