跳至主要内容
版本: 4.x

版本 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 中添加。

依赖项