2017-01-09 78 views
0

簡單的交易手段在我的網站上我有8個HTML forms其中有10 - 15個輸入字段和一些forms也有文件上傳選項。我可以使用socket.io進行簡單交易嗎?

我在客戶端使用Angular js,在服務器端使用Express js。在Angular中,我使用Angular Resource進行HTTP操作。這很好,現在我想用角度js使用socket.io,並想通過socket.io替換Angular資源。

我已經看到一些例子,其中socket.io用於即時消息傳遞或一些特定的任務,而不是表單數據提交和所有。但我的好奇心是每個人都想要速度,如果我使用socket.io,我可以更快地完成操作。

我在正確的方向思考或沒有?

謝謝。

+0

你想通過使用socket.io實現什麼?您已經可以在客戶端使用Angular輕鬆實現輸入驗證。我可以想象一些有用的應用程序,通過socket.io傳輸輸入信息並回饋輸入提示/建議 – Max

回答

1

我是否在正確的方向思考?

不,不是真的。

但我的好奇心是每個人都想要速度,如果我使用socket.io,我可以更快地完成操作。

現在還不清楚爲什麼你認爲socket.io會比爲表單輸入做一個HTTP post更快。有可能沒有明顯的差異,當然最終用戶不會注意到。如果在相對較短的時間內從同一個客戶端向同一個服務器執行了數十億個這樣的操作,那麼使用socket.io連接可能更有意義,這樣可以避免在設置每個http連接時帶來一點開銷,但是如果你只從每個客戶端做了幾個,那麼這個差別基本上是不相關的,並且爲每個客戶端維護一個單獨的socket.io連接的額外開銷(即使客戶端什麼都不做)是一個相反方向的折衷。

無數網站上的無數網站使用HTTP發送表單數據到他們的服務器。有用。它相對高效。 Expressjs是爲了輕鬆處理它而構建的。你沒有提出爲什麼你應該用其他東西替換它的理由。

你當然可以使用socket.io表單提交。使用socket.io,您只需將表單數據打包到您選擇的對象中併發送該對象。 socket.io會將對象轉換爲JSON,發送JSON,然後服務器中的socket.io的接收端會自動將JSON轉換回服務器端的Javascript對象,並且您將擁有所有表單數據。所以,它可以在socket.io上正常工作 - 這只是不清楚爲什麼你認爲這比在你的Expressjs服務器上做一個HTTP post更好。

+0

我在想Socket.io會更快(我不確定),因爲它基本上用於聊天應用程序是更實時的數據。 –

+1

@ArpitMeena - socket.io用於聊天,因爲每當有人與你聊天時,服務器都需要「推送」數據給客戶端。因此需要連續的連接,以便服務器可以隨時將數據發送給客戶端。它被用於這個原因,不是因爲性能。您的情況不需要該功能,因此可以在HTTP中正常工作。 – jfriend00

+0

現在我明白了。非常感謝@ Jfriend00。 –

相關問題