2016-06-24 38 views
0

我正在使用CloudFlare實現REST API。我需要添加一些通過Node.JS上的socket.io實現的通知。 當socket.io使用實時連接來保持客戶端更新時,它將工作,因爲連接在服務器 - 客戶端之間建立,但是當socket.io進行輪詢時會發生什麼? CloudFlare是否每個客戶端都使用相同的服務器?CloudFlare和socket.io

回答

2

WebSocket由IETF在RFC 6455中進行了標準化,這樣可以避免輪詢行爲,而是直接維護從服務器到客戶端的雙向連接。

雖然您現有的堆棧(Node.js,Socket.io和CloudFlare)支持輪詢行爲, Socket.io可以使用WebSockets和CloudFlare now supports WebSockets

WebSockets不使用傳統輪詢,而是充當全雙工通信協議。當有可能Socket.ioseek to use WebSockets when it can,但回退到輪詢時,它可以。

那麼你需要牢記什麼?使用WebSocket時,請務必使用CloudFlare可接受的端口。

For requests made via HTTP/WS: 

80 
8080 
8880 
2052 
2082 
2086 
2095 

For requests made via HTTPS/WSS: 

443 
2053 
2083 
2087 
2096 
8443 

using CloudFlare with WebSockets有常見問題解答。