2014-09-27 100 views
0

我正在研究一個應用程序,其中(目前)桌面應用程序和網站運行檢查數據庫中新命令的「心跳」。如果有很多用戶都從桌面應用程序和網站運行心跳,那麼服務器可能會很繁忙。 (我們有幾個應用程序運行在同一臺服務器上)NodeJS用於網站和桌面應用程序之間的實時通信

現在我正在考慮nodeJS作爲網站和mysql數據庫之間的通信方法。桌面應用程序仍然會使用心跳檢查與網站相同的數據庫(桌面應用程序使用C#編寫)。

在安全性,可靠性等方面,有沒有其他解決方案比nodeJS更適合作爲實時通信?

使用NodeJS而不是普通的javascript setInterval有什麼缺點嗎?提前/ H

由於

回答

0

是否有在安全性,可靠性等方面作爲的NodeJS實時通信之前,優選任何其他解決辦法?

Node.js是一個應用程序框架。無法推廣所有Node.js應用程序的安全性,安全性和可靠性。

我正在研究一個應用程序(目前)桌面應用程序和網站運行檢查數據庫中新命令的「心跳」。如果有很多用戶都從桌面應用程序和網站運行心跳,那麼服務器可能會很繁忙。 (我們有幾個應用程序運行在同一臺服務器上)

Node.js並不奇蹟般地讓事情變得更有效率。這取決於你如何編寫你的應用程序。無論如何,這聽起來像是你的數據庫會佔用大部分的負載,所以無論在前面坐什麼都不會有什麼不同。不可能明確地說...你必須測試才能發現。

使用NodeJS而不是普通的javascript setInterval有什麼缺點嗎?

這是一個非感性問題。駕駛汽車而不是使用普通油門踏板有什麼好處嗎?

這聽起來像你應該問的問題是關於你的服務器和你的應用程序之間的協議。這聽起來像是你正在試圖定期輪詢數據庫中的新命令。我建議不是這樣做,如果你可以幫助它。如果有新的命令運行,服務器爲什麼不通知客戶端?爲此,除了服務器應用程序和客戶端應用程序都可以使用的協議之外,您可能還需要一個發佈/訂閱系統(其中一個內置於Redis中,如果這樣可以讓事情更輕鬆)。 Socket.IO可能是此選擇,但.NET library似乎已停產。你可以做簡單的線分界JSON over TCP。

+0

對不起,如果我的問題有點瀰漫,但我不知道那麼多關於NodeJS。 是的,我試圖輪詢數據庫的新命令,但正如你所描述的,我希望服務器發送命令給客戶端,如果有新的。我認爲NodeJS會幫助我,但也許它不會?我也認爲Socket.IO和NodeJS應該一起使用,但也許情況並非如此? – hgerdin 2014-09-27 16:54:02

+0

Node.js當然可以幫助你...我只是說Node.js只是一個平臺。你用它做什麼取決於你。 Socket.IO和Node.js旨在一起使用。其他平臺有Socket.IO客戶端庫。 – Brad 2014-09-27 18:39:08

相關問題