版本 4.5.0
2022 年 4 月 23 日
伺服器
錯誤修正
功能
針對傳出封包的萬用監聽器
這類似於 onAny()
,但適用於傳出封包。
語法
socket.onAnyOutgoing((event, ...args) => {
console.log(event);
});
新增於 531104d。
廣播並預期多重確認
語法
io.timeout(1000).emit("some-event", (err, responses) => {
// ...
});
新增於 8b20457。
maxHttpBufferSize
值協商
Engine.IO 握手現在包含「maxPayload」欄位,以便 HTTP 長輪詢中的用戶端可以決定他們必須傳送多少封包才能保持在 maxHttpBufferSize
值以下。
這是一個向後相容的變更,不應強制要求協定的新主要版本(我們維持在 v4),因為我們只在 JSON 編碼的握手資料中新增一個欄位。
0{"sid":"lv_VI97HAXpY6yYWAAAC","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000,"maxPayload":1000000}
新增於 088dcb4。
相依性
用戶端
功能
中斷事件的額外詳細資料
如果發生任何問題,「中斷」事件現在將包含額外的詳細資料以協助除錯。
HTTP 長輪詢模式中有效負載超過 maxHttpBufferSize 值的範例
socket.on("disconnect", (reason, details) => {
console.log(reason); // "transport error"
// in that case, details is an error object
console.log(details.message); "xhr post error"
console.log(details.description); // 413 (the HTTP status of the response)
// details.context refers to the XMLHttpRequest object
console.log(details.context.status); // 413
console.log(details.context.responseText); // ""
});
新增於 b862924。
傳出封包的萬用監聽器
這類似於 onAny()
,但適用於傳出封包。
語法
socket.onAnyOutgoing((event, ...args) => {
console.log(event);
});
新增於 74e3e60。
依據 maxPayload 值切片寫入緩衝區
伺服器現在會在交握詳細資料中包含一個「maxPayload」欄位,讓用戶端可以決定他們必須傳送多少封包才能維持在 maxHttpBufferSize
值以下。
新增於 46fdc2f。