使用Node.js/socket的Web应用程序.IO和php/mysql


Web application using Node.js/socket.io and php/mysql

我对node.js和socket.io比较陌生。目前我有一个完成了一半的私人网络项目,它只运行PHP与MySQL数据库在服务器端。我决定把它带到一个更高级的水平,使用套接字。Io,以获取项目中的几个功能。

所以我读了很多关于它的书,看了一大堆教程。我在研究中也发现了这个和这个。

我的问题是,如果这仍然是开发web应用程序的常见方式?

更准确地说:在一个事件(如表单提交)上同时使用AJAX请求和套接字。对那些事件来说,这是必要的。

这种思想的背景是这样的。PHP中有很多计算。node.js服务器在逻辑上使用JavaScript运行。因此,我可以轻松实现node.js服务器,而无需更改AJAX请求上的任何内容。或者重写我到目前为止所有的东西,到js,只使用一个node.js服务器。

但这又引出了三个问题:

  1. 在服务器端可能运行得更快。计算脚本与PHP或JavaScript?
  2. 如何在使用MySQL的同时使用node.js服务器上的事务?
  3. 将PHP数组转换为JSON对象的影响有多大,使用node.js服务器可以避免什么,你不需要转换任何东西。
    JavaScript是在客户端执行的,所以你受限于用户的硬件,而PHP是在你的服务器上执行的。有关性能比较的更多信息,请参阅本文。我强烈建议你看看这个纯node.js客户端,它将完美地完成你的工作。PHP有许多函数可以使用JSON数据(json_decode(), json_encode(), ...),但Node.js不需要转换JSON数据。最后,这真的取决于你的使用以及你计划如何存储和使用这些数据