如果我想讓即時用戶通知使用最佳技術,請使用StackOverflow提供的 ?SSE或WebSockets用於類似於Stackoverflow的即時通知
我認爲SSE和WebSockets。每種解決方案的優缺點是什麼?
我應該使用socket.io或更好地直接使用WebSockets嗎?
如果我想讓即時用戶通知使用最佳技術,請使用StackOverflow提供的 ?SSE或WebSockets用於類似於Stackoverflow的即時通知
我認爲SSE和WebSockets。每種解決方案的優缺點是什麼?
我應該使用socket.io或更好地直接使用WebSockets嗎?
主要區別在於,SSE只能接收來自服務器的消息。您無法將消息發送到服務器。所有可用SSE進行的工作都可以通過WebSockets完成。但反之亦然 - WebSocket 是能夠發送數據到服務器。所以從這個角度來看WebSockets贏了。我看不出SSE有什麼優勢(或許表現?),但是我再也沒有太多的經驗。
請注意,StackOverflow使用WebSockets。他們可能有一些舊版瀏覽器的後備,我不知道這一點。
至於第三個問題:或許你應該先問你想用什麼語言?我一直在使用WebSockets和Python,它工作得很好。你可以直接使用WebSockets。使用socket.io的優點主要在於回退(假定它很重要 - 它不是恕我直言):如果WebSocket不可用,它可以自動切換到其他通信方式(如Flash或長輪詢)。缺點是它是Node.js(從某種意義上說,你必須限制自己使用一種語言),另外還有一些性能問題,即socket.io不能在一臺機器上擴展。
您可能會考慮使用像SocketIO這樣的庫來抽象出傳輸層,因此您不必擔心實時連接的維護機制。這將爲您節省頭痛的TON。
謝謝!好的,但SSE有哪些優勢呢?如果有WebSockets,誰需要SSE? –
@IgorChubin可能沒有人? SSE更容易實現 - 它們通過HTTP生活,不需要新的連接和特殊的WebSocket協議解析。但是現在已經有一些庫爲你做了。另外我認爲IE仍然不支持SSE。 – freakish