Page 540 - Nodejs 교과서 개정2판
P. 540

੉ઁ ࢲߡ੄ TPDLFU KTী ਢ ࣗ௄ ੉߮౟ܳ োѾ೤פ׮

          socket.js

           const	SocketIO	=	require('socket.io');


           module.exports	=	(server,	app)	=>	{
           		const	io	=	SocketIO(server,	{	path:	'/socket.io'	});
           ➊
           		app.set('io',	io);
           ➋

           		const	room	=	io.of('/room');
           		const	chat	=	io.of('/chat');
           ➌
           		room.on('connection',	(socket)	=>	{
           				console.log('room		네임스페이스에	접속');
           				socket.on('disconnect',	()	=>	{
           						console.log('room	네임스페이스	접속	해제');
           				});
           		});
           ➍

           		chat.on('connection',	(socket)	=>	{
           				console.log('chat	네임스페이스에	접속');
           				const	req	=	socket.request;
           				const	{	headers:	{	referer	}	}	=	req;
           				const	roomId	=	referer
           						.split('/')[referer.split('/').length	-	1]
           						.replace(/\?.+/,	'');
           				socket.join(roomId);


           				socket.on('disconnect',	()	=>	{
           						console.log('chat	네임스페이스	접속	해제');
           						socket.leave(roomId);
           				});
           		});
           };




         ➊ app.set('io', io)۽ ۄ਋ఠীࢲ io ё୓ܳ ॶ ࣻ ੓ѱ ੷੢೧نפ׮  req.app.get('io  ۽ ੽Ӕೡ ࣻ ੓ण

            פ׮
         ➋ ୊਺ ࠁח ݫࢲ٘ੋ ofо ੓णפ׮  4PDLFU *0ী ֎੐झಕ੉झܳ ࠗৈೞח ݫࢲ٘ੑפ׮  4PDLFU *0ח ӝࠄ

            ੸ਵ۽   ֎੐झಕ੉झী ੽ࣘೞ૑݅  of ݫࢲ٘ܳ ࢎਊೞݶ ׮ܲ ֎੐झಕ੉झܳ ٜ݅য ੽ࣘೡ ࣻ ੓णפ׮
              э਷ ֎੐झಕ੉झՙܻ݅ ؘ੉ఠܳ ੹׳೤פ׮
   535   536   537   538   539   540   541   542   543   544   545