Socket.io: рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреЛрд░ рддреНрд░реБрдЯрд┐

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

рд╕реЙрдХреЗрдЯ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг .io рдмрд╕ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдХреЙрд░реНрд╕ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рд╛рдордиреЗ рд╕реЗ рдкреАрдЫреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП CORS рдорд┐рдбрд▓рд╡реЗрдпрд░ рднреА рдЬреЛрдбрд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реЙрдХреЗрдЯ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

image

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

рдирдорд╕реНрддреЗ! рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдкреНрд░рд▓реЗрдЦрди v3 рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ CORS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЦрдВрдб рдЬреЛрдбрд╝рд╛ рд╣реИ: https://socket.io/docs/v3/handling-cors/

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ?

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

рдирдорд╕реНрддреЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд▓реЗрдЦрди 3.0 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рджреЗрдЦреЗрдВ https://socket.io/docs/migrating-from-2-x-to-3-0/ , рд╕реЗрдХреНрд╢рди рдХреЙрд░реНрд╕ рд╣реИрдВрдбрд▓рд┐рдВрдЧред

рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛, рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рдмрдорд░ рд╣реИред рдЕрднреА-рдЕрднреА рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЕрднреА рдФрд░ рдЕрднреА рд╕рдбрд╝рдХ рдмреНрд▓реЙрдХ рд╣реИрдВред рдореИрдВ 2.x рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред

рдирдорд╕реНрддреЗ! рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдкреНрд░рд▓реЗрдЦрди v3 рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ CORS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЦрдВрдб рдЬреЛрдбрд╝рд╛ рд╣реИ: https://socket.io/docs/v3/handling-cors/

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ?

@darrachequesne рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ!

рдпрд╣ glitch.me рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред V3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп glitch.me рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ CORS glitch.me рдФрд░ AWS рдХреЗ TOS рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдирд┐рд╖реНрдХрд╛рд╕рди рдорд┐рд▓реЗрдЧрд╛ред рдХреНрдпрд╛ рдХреЛрд░ рдХреЗ рдмрд┐рдирд╛ v3 рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЙрд░реНрд╕ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд╛рде рдПрдХ рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╣рд╛рдп @quindo - рдмрд╕ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдЯреАрдУрдПрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП

// server-side
const io = require("socket.io")(httpServer, {
  cors: {
    origin: "https://example.com",
    methods: ["GET", "POST"],
    allowedHeaders: ["my-custom-header"],
    credentials: true
  }
});

// client-side
const io = require("socket.io-client");
const socket = io("https://api.example.com", {
  withCredentials: true,
  extraHeaders: {
    "my-custom-header": "abcd"
  }
});

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

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

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

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

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

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

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

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