2016-09-17 44 views
0

我对node.js和socket.io比较陌生。目前我有一半的私人网站项目,只能在服务器端使用MySQL数据库运行PHP。我决定使用socket.io将其引入更高级别,以用于项目中的多个功能。使用Node.js/socket.io和php/mysql的Web应用程序

所以我读了很多,看了一大堆教程。我在研究期间还发现了thisthis

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

更确切地说:在一个事件(如表单提交)上使用AJAX请求和socket.emit,对于这些事件是必要的/想要的。

这个想法的背景如下。我现在有一大堆计算在PHP中运行。而node.js服务器在JavaScript中运行逻辑。所以我可以轻松实现一个node.js服务器,而不需要改变我的AJAX请求上的任何内容。或者把我迄今为止所拥有的一切改写为js,并只使用一个node.js服务器。

但是,这导致3个问题:

  1. 这可能是运行在服务器端的速度更快。用PHP或JavaScript脚本化的计算?
  2. 如何在使用MySQL时在node.js服务器上使用事务?
  3. 将PHP数组转换为JSON对象的影响力有多大,您可以避免使用仅用于无需转换任何内容的node.js服务器。

回答

0
  1. JavaScript是这样你通过用户的硬件,而PHP的服务器上执行有限的客户端上执行。有关性能比较的更多信息,请参阅this post
  2. 我强烈建议你看看这个pure node.js client,这将完美地做你的案件的工作。
  3. PHP有许多功能可用于JSON数据(json_decode(), json_encode(), ...),但Node.js不需要转换JSON数据。最后,这取决于您的使用情况以及您计划如何存储和使用该数据。
+0

感谢您的回复! 1.但node.js在服务器上运行正确吗?所以你可以对数据库中的一些数据进行计算,然后发送给客户端。 2.谢谢!没有发现。 3.我已经使用了,谢谢。问题更多,如果php和json_encode()的组合比服务器端的javascript计算稍慢一点。 –

+0

在node.js的特殊情况下,你是完全正确的。另外,JavaScript计算速度应该会更快,但这又取决于您的使用情况。 – rak007