Socket.io-client: рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ-рдкреЛрдВрдЧ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдирд╡ре░ 2020  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io-client

рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐:

  • [x] рдПрдХ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ
  • [] рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?

рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреЛрдВрдЧ рдШрдЯрдирд╛ рдХреЛ рдирд┐рдХрд╛рд▓/рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдкрд┐рдВрдЧрдЗрдВрдЯрд░рд╡рд▓ рд╕рдХреНрд╖рдо/рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рднреА

рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг (рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдмрдЧ рд╣реИ)

https://github.com/Tiboonn/socket.io-fiddle
рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдФрд░ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдКрдкрд░ рдХрд╛ рдХрд╛рдВрдЯрд╛ 3.0.0 рд╣реИ, рдЬрд┐рд╕ рдкрд░ 'рдкреЛрдВрдЧ' рдШрдЯрдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдЖрдк package.json рдореЗрдВ рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 2.3.0 рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдХреБрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ 'рдкреЛрдВрдЧ' рдШрдЯрдирд╛ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ?

рдореИрдВ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдПрдордПрд╕ рд╡рд┐рд▓рдВрдмрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

socket.on('pong', function (ms) {
    console.log(ms)
})

рд╕реЗрдЯ рдЕрдк

  • рдУрдПрд╕: рдЙрдмрдВрдЯреВ 20.04
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕/рдХреНрд░реЛрдо (рдПрдХрд╛рдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рдВрд╕реНрдХрд░рдг: 3.0.0

рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА (рдЬреИрд╕реЗ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕, рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ, рд╕реБрдЭрд╛рд╡ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ)

Needs documentation

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ! рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, рдЗрд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЧрд╛рдЗрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

// server-side
io.on("connection", (socket) => {
  socket.on("ping", (cb) => {
    if (typeof cb === "function")
      cb();
  });
});

// client-side
setInterval(() => {
  const start = Date.now();

  socket.volatile.emit("ping", () => {
    const latency = Date.now() - start;
    // ...
  });
}, 5000);

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

V3 рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ pong рдШрдЯрдирд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреНрдпрд╛ рдЗрд╕ рд╕рдордп рдХреЛрдИ рдЙрдкрд╛рдп рд╣реИ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://github.com/socketio/socket.io-client/commit/be8c3141bdbbdfa59c4d0ca4b3149236e200878f

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ engine.io рдХреЗ рдХрд╛рд░рдг рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ...

@hadimostafapour рдЕрдЪреНрдЫреА рдЦреЛрдЬ !!! :)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╕реЗ рдХреЛрдб рд▓реВрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛: рдбреА

рдирдорд╕реНрддреЗ! рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, рдЗрд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЧрд╛рдЗрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

// server-side
io.on("connection", (socket) => {
  socket.on("ping", (cb) => {
    if (typeof cb === "function")
      cb();
  });
});

// client-side
setInterval(() => {
  const start = Date.now();

  socket.volatile.emit("ping", () => {
    const latency = Date.now() - start;
    // ...
  });
}, 5000);

@darrachequesne рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж !!

рдпрд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/#No -more-%E2%80%9Cpong%E2%80%9D-event-for -рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐-рд╡рд┐рд▓рдВрдмрддрд╛

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: +1:

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Warrior-hound picture Warrior-hound  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vadimka123 picture vadimka123  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

catamphetamine picture catamphetamine  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crazyyi picture crazyyi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BorntraegerMarc picture BorntraegerMarc  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ