Socket.IO 사용 방법

이 기사에 있는 프로그램을 개조해 보았습니다.
Socket.IO를 사용하여 서버에서 브라우저로 데이터 전송

환경설정
mkdir socketio-simple
cd socketio-simple
npm init -y
npm i -S express node-cron socket.io

소스 파일 만들기

index.js
// ---------------------------------------------------------------
//  index.js
//
//                  May/20/2021
// ---------------------------------------------------------------
const app = require('express')()
const http = require('http').Server(app)
const io = require('socket.io')(http)
const cron = require('node-cron')

var count = 0

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html')
})

http.listen(3000, () => {
  console.log('listening on *:3000')
})

io.on('connection', (socket) => {
  console.log('a user connected')
  socket.on('disconnect', () => {
    console.log('user disconnected')
  })
})


cron.schedule('*/3 * * * * *', () => {
  const text_aa = 'hello ' + count

  console.log('send ' + text_aa)
  io.emit('message', text_aa)
  count += 1 
})

// ---------------------------------------------------------------

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>receive messages.</title>
</head>
<body>
    <ul id="messages"></ul>
    <script src="/socket.io/socket.io.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
    <script>
      jQuery( () => {
        const socket = io()
        socket.on('message', (msg) => {
          jQuery('#messages').append($('<li>').text(msg))
        })
      })
</script>
<hr />
May/20/2021 PM 20:20<br />
</body>
</html>

서버 시작
node index.js

브라우저에서
[http://localhost:3000(http://localhost:3000)
방문

좋은 웹페이지 즐겨찾기