預設情況下,sails.io.js
會在載入後幾乎立即自動連線一個 socket (io.socket
)。這讓您的用戶端程式碼可以傳送 socket 請求到特定的 Sails 伺服器,並接收來自該伺服器的事件和資料。對於 99% 的應用程式來說,這就已足夠。
然而,對於某些進階使用情境(包括自動化測試),從同一個 socket 用戶端實例(例如瀏覽器分頁)連線額外的 socket 會很有幫助。基於這個原因,Sails 公開了 SailsSocket
類別。
sails.io.js
函式庫的運作方式,是將底層的 Socket.io 用戶端包裝在 SailsSocket
類別的實例中。這個類別為您的 socket 提供更高階的方法,例如 .get()
和 .post()
,讓您能以熟悉的方式與您的 Sails 應用程式溝通。
任何載入 sails.io.js
的網頁都會在頁面載入時建立一個新的 SailsSocket 實例,除非 io.sails.autoConnect
設定為 false
。然後,這個實例會以全域變數 io.socket
的形式提供。
額外的 SailsSocket 實例可以透過呼叫 io.sails.connect
來建立
var newSailsSocket = io.sails.connect();