2016-09-17 78 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