2016-09-20 67 views
-1

因此,我創建了一個應用程序,通過REST API與我的服務器進行通信。正如你所知道的那樣,通過向服務器發送POST和GET請求,然後在移動應用程序中接收響應,這是可行的。事情是,這個調用需要長達20秒或更長時間來響應,即使是登錄,這也使得應用程序reaatally緩慢,我想防止iOS應用程序開發中的Web套接字或Web服務?

所以我在想另一個選項可能是一個Web套接字(使用Socket.io)。據我所知(從來沒有嘗試過)使用網絡套接字將使我與服務器的通信更快。

你們有什麼意見嗎?

謝謝你們很多! :)

+0

首先,如果服務器速度很慢,那麼這是服務器的一個限制/功能,它不會影響連接的方式。根據我對響應式服務器的經驗,HTTP get可以在一秒鐘或兩秒鐘內得到響應。其次,網絡流量可能並且很慢,您的應用需要能夠在緩慢時處理這些時間。 – Gruntcakes

回答

1

如果你想遷移你的整個REST API結構websocket,那麼我建議這是不值得的想法。

Websocket基本上用於braodcast數據,誰連接到websocket,他們可以讀取數據和做更多的事情。

例如,考慮例如Skype,WhatsApp的或其他VOIP應用

如果你正在開發的應用程序,其中有100位用戶的UITableView並沒有像「綠色」,「灰色」,以表明用戶在線或離線。在這種情況下,websocket可以幫助你。

在viewWillAppear中你必須得到所有用戶的列表,

注 - 儘管用戶是否在線(登錄),他們必須連接到的WebSocket並提供標誌,因爲他們是在網上。

現在獲得所有用戶的響應之後,您必須比較所有用戶的ID API響應在websocket上在線標記。所以你必須顯示「綠色」圖像或其他「灰色」。

因此,當任何用戶登錄或註銷,用戶標誌獲取保持websocket,每當你獲得廣播有效載荷做上面提到的進一步活動。因此,您不需要每次獲取所有用戶API響應並使其聯機或脫機。

基本上websocket有利於廣播目的或一些小型活動。您不應該在websocket上傳輸REST API的整個結構負載。

考慮減少請求/響應時間。

祝您編程愉快。

+0

謝謝兄弟,這是我需要的。很好的一天 – mkmnstr