.blast()
廣播訊息到所有連線到伺服器的 sockets (或叢集中的任何伺服器,如果您使用 Redis 進行多伺服器部署)。
sails.sockets.blast(data);
或
sails.sockets.blast(eventName, data);
sails.sockets.blast(data, socketToOmit);
sails.sockets.blast(eventName, data, socketToOmit);
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | eventName | 選填。預設為 'message' 。 |
|
2 | data | 要在訊息中傳送的資料。 | |
3 | socketToOmit | 選填。如果提供,與此 socket 請求相關聯的 socket 將不會收到廣播給其他所有人的訊息。當廣播事件是由不需要再次聽到它的請求使用者觸發時,這很有用。 |
在控制器動作中...
sails.sockets.blast('user_logged_in', {
msg: 'User #' + user.id + ' just logged in.',
user: {
id: user.id,
username: user.username
}
}, req);
- 請務必檢查
req.isSocket === true
,然後再將req
傳遞給此方法。為了省略 socket,目前的req
必須來自 socket 請求,而不僅僅是任何 HTTP 請求。