рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
рд╕рд░реНрд╡рд░:
// рд▓реЛрдб рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ
рд╡рд░ http = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('http'),
рдЖрдИрдУ = рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ('рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ');
// рд╕рд░реНрд╡рд░ рдФрд░ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдПрдВ
рд╡рд░ рд╕рд░реНрд╡рд░ = http.createServer (рдлрд╝рдВрдХреНрд╢рди (req, res) {
// Send HTML headers and message
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Aw, snap! 404</h1>');
});
рд╕рд░реНрд╡рд░ред рд╕реБрдиреЛ (8080);
рдЖрдИрдУ = рдЖрдИрдУред рд╕реБрдиреЛ (рд╕рд░реНрд╡рд░);
// рдПрдХ рдХрдиреЗрдХреНрдЯ рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝реЗрдВ
io.sockets.on ('рдХрдиреЗрдХреНрд╢рди', рдлрд╝рдВрдХреНрд╢рди (рд╕реЙрдХреЗрдЯ) {
console.log('Client connected.');
// Disconnect listener
socket.on('disconnect', function() {
console.log('Client disconnected.');
});
});
рдЧреНрд░рд╛рд╣рдХ:
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('1');
// рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
var io = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('socket.io-client')
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect ('рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ: 8080', {рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рд╕рдЪ});
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('2');
// рдПрдХ рдХрдиреЗрдХреНрдЯ рд╢реНрд░реЛрддрд╛ рдЬреЛрдбрд╝реЗрдВ
рд╕реЙрдХреЗрдЯ.рдСрди ('рдХрдиреЗрдХреНрдЯ', рдлрд╝рдВрдХреНрд╢рди (рд╕реЙрдХреЗрдЯ) {
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдХрдиреЗрдХреНрдЯреЗрдб!');
});
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('3');
рдореБрдЭреЗ рдХрдиреЗрдХреНрдЯреЗрдб рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрдЯреЗрдб рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВ! рдХреЛрдб рдирдореВрдирд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рд╢реНрди рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд▓рд┐рдВрдХ рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ ...
// рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
var io = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('socket.io-client')
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect ('рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ: 8080', {рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рд╕рдЪ});
рдЗрд╕ рддрд░рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
// рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
var io = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('socket.io-client')
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect('http://localhost:8080', {reconnect: true});
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХрдиреЗрдХреНрд╢рди рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИред
var io = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('socket.io-client')
рд╡рд░ рд╕реЙрдХреЗрдЯ = io.connect('http://localhost:8080', {reconnect: true});
рд╡рд╣реА рдореБрджреНрджрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛
рдореИрдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрджрд▓рдХрд░ 127.0.0.1 рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ред
рдореИрдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрджрд▓рдХрд░ 127.0.0.1 рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд░рд╣рд╛ ред
рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ Node.js рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ window.location
рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдпрд╣рд╛рдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
// does not work
io.connect("localhost:8080");
// does work
io.connect("http://localhost:8080");
рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЪреБрдкрдЪрд╛рдк рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдмрджрд▓рдХрд░ 127.0.0.1 рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ред