2017-05-19 18 views
0

我是新來的實時應用程序工作,我搜索了許多與實時應用程序相關的文章,並且我通過看到很多像ReactJs和Socket.Io或VueJs和Pusher一樣的選項,以及許多其他與Laravel Echo一起工作的選項和廣播事件。我也看看Laravel documentation,它指的是我可以使用Redis,Pusher或Socket.Io觸發我的客戶端頁面的實時觸發器。所以請任何人指導我通過這些,因爲我說我是新的廣播事件。用於實時應用的laravel有什麼好處?

回答

2

您對與客戶端上運行的設備或Web應用程序的實時通信有要求。 實時通信要求可能是 - 向所有連接的客戶端廣播 - 從服務器發送給客戶端的消息。 - 消息從客戶端傳遞到另一個客戶端(例如聊天應用程序)

實時通信最有前途的方法之一是使用Web套接字。

但是使用web套接字本身並不實用,所以有一些流行的庫,比如socket.io和Redis。這些庫吸收了生產和開發中遇到的許多困難。這些庫甚至支持縮放。

但是,維護一個自託管的實時解決方案(如Socket.io或Redis)會帶來成本。通信的成功率不會很高,您將不得不實施各種監控機制和故障轉移流程。地理分佈也不受支持。因此,針對所有提及問題的高可靠性實時系統的下一個選擇是託管服務,例如推送器,pub-nub等。 我發現定價和各種地理位置的支出對於Pubnub來說比推銷者更好。 我相信這會爲您提供一個概述,以便爲您的要求選擇一個解決方案。

+0

謝謝@ charith我正在尋找一個最好的websocket庫,我可以使用laravel。根據你的回答,我會嘗試在Laravel Broadcastin事件中使用pubnub。 –

+0

@Chiragchhuchha很高興聽到這幫助你繼續前進。 – Charith

1

您有三種選擇。無論是Ajax,WebSocket還是Realtime技術。

在ajax中,您需要使用setInterval()來檢查每一秒。

setInvertal(function(){ 
    fetch_notifications(); 
}, 1000); 

在websocket中。它是免費的,但它需要nodejs。檢查這個。它的laravel 4,但您可以輕鬆更新到laravel 5. http://www.volkomenjuist.nl/blog/2013/10/20/laravel-4-and-nodejsredis-pubsub-realtime-notifications/

最後,使用實時網絡技術。他們中的大多數都是免費的,如果你想升級你的賬戶,這取決於你。檢查這個清單。 https://www.leggetter.co.uk/real-time-web-technologies-guide/ Laravel建議使用推杆,它的好處。對於我自己,我會推薦使用PubNub。它非常流行,易於使用。檢查這個。 https://www.pubnub.com/blog/2011-03-19-build-real-time-chat-10-lines-code/

Ably也不錯。

Goodluck。

+0

感謝兄弟,我開始使用socket.io它是好的,但有一段時間它有一些滯後。但儘管我會嘗試按照你的建議使用PubNub。 :) –

+0

@Chiragchhuchha,不客氣。是的,嘗試一下,使用起來非常簡單。 –