Socket.io: Socket.io рдкрд░ рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ 400 рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЕрдкреНрд░реИрд▓ 2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рдирдорд╕реНрддреЗ,

Socket.io рдкрд░ рдорддрджрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдмрд╣реБрдд рд╕реЗ 400 HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред
рдореИрдВ рдиреЛрдбрдЬ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
рдпрд╣рд╛рдБ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:

рдЕрдЧрд░ (рдХреНрд▓рд╕реНрдЯрд░.рдЗрд╕рдорд╛рд╕реНрдЯрд░) {
// рдХрд╛рдВрдЯрд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ред
// numCPUs = 1;
рдХреЗ рд▓рд┐рдП (var i = 0; i < numCPUs-1; i++) {
рдХреНрд▓рд╕реНрдЯрд░ред рдХрд╛рдВрдЯрд╛ ();
}
}
// рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛрдб:
рдЕрдиреНрдпрдерд╛{

var socket_io = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рд╕реЙрдХреЗрдЯ.io') (рд╕рд░реНрд╡рд░);
рд╡рд░ redis_adapter = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('socket.io-redis');
socket_io.adapter(redis_adapter({host: config.redis.ip, port: config.redis.port}));

// рдмрд╛рдХреА рдХреЛрдб
рд╕реЙрдХреЗрдЯ_рдЖрдИрдУ.рдСрди ('рдХрдиреЗрдХреНрд╢рди', рдлрд╝рдВрдХреНрд╢рди (рд╕реЙрдХреЗрдЯ) {

}

рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рд╕рдВрдХреЗрддрдХ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж

Closed due to inactivity

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

рдирдорд╕реНрддреЗ! рдореБрдЭреЗ socket.io рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдХреБрдЫ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдкреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ

https://github.com/jordanpappas/raspi-car/tree/master/server

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

  1. рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛)
  2. рдХреЗрд╡рд▓ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ рд╡реЗ рдорддрджрд╛рди рд╕рд╛рдордЧреНрд░реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдРрд╕реЗ рдХрд░реЗрдВ
var io = sio(server, { 'transports': ['websocket'] });

рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдкрд░:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

рдпрд╣ рдЖрдкрдХреЛ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореИрдВ рдПрдХ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

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

рдирдорд╕реНрддреЗ! рдореБрдЭреЗ socket.io рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдХреБрдЫ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдкреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ

https://github.com/jordanpappas/raspi-car/tree/master/server

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

  1. рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛)
  2. рдХреЗрд╡рд▓ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ рд╡реЗ рдорддрджрд╛рди рд╕рд╛рдордЧреНрд░реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдРрд╕реЗ рдХрд░реЗрдВ
var io = sio(server, { 'transports': ['websocket'] });

рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдкрд░:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

рдпрд╣ рдЖрдкрдХреЛ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореИрдВ рдПрдХ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

рдЬрд╝рд░реВрд░ рдзрдиреНрдпрд╡рд╛рджредрдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдореИрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрджрд░ рдЪрд┐рдкрдЪрд┐рдкрд╛ рд╕рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдХрд┐ рдЧрд▓рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд╡рдпрдВ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИред

рд╡рд╣ рдореБрджреНрджрд╛ рдЕрдкрдиреЗ рдЖрдк рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рдХреГрдкрдпрд╛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ (рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдкрд╣реЗрд▓реА рдХреЗ рд╕рд╛рде)ред

4 рдШрдВрдЯреЗ рдмрд░реНрдмрд╛рдж рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ

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

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

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

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

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

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

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