跳到主要內容
版本:4.x

版本 4.5.0

2022 年 4 月 23 日

伺服器

錯誤修正

  • 類型:確保與 TypeScript 3.x 相容(#4259)(02c87a8

功能

針對傳出封包的萬用監聽器

這類似於 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

相依性