如何检查 Socket.IO 连接的延迟
您可以通过向服务器发送 ping 事件并在另一端 确认它 来测试应用程序的延迟
客户端
import { io } from "socket.io-client";
const socket = io("wss://example.com");
setInterval(() => {
const start = Date.now();
socket.emit("ping", () => {
const duration = Date.now() - start;
console.log(duration);
});
}, 1000);
服务器
import { Server } from "socket.io";
const io = new Server(3000);
io.on("connection", (socket) => {
socket.on("ping", (callback) => {
callback();
});
});
请注意,大多数延迟可能来自 **网络**,而不是 Socket.IO(它与底层 WebSocket 连接的开销大致相同)。
延迟会受到很多因素的影响,其中最主要的是服务器和客户端之间的距离。
也就是说,与 WebSocket 相比,卡在 HTTP 长轮询中的客户端将看到更高的延迟,因为后者在服务器和客户端之间保持打开的 TCP 连接,并且不需要在每次请求时发送 HTTP 标头。
相关