UDP로 비슷한 chat program을 만드는 과제를 진행해보겠다.
UDP는 이제 잘 쓰이지 않기 때문에 깊이 파고들지 않겠다.
server.js
const PORT = 3000
const HOST = '127.0.0.1'
const dgram = require('dgram')
const server = dgram.createSocket('udp4')
server.on('listening', () => {
const address = server.address()
console.log('UDP Server listening on', address.address, address.port)
})
server.on('message', (message) => {
console.log('message: ', message.toString())
})
server.bind(PORT, HOST)
client.js
const PORT = 3000
const HOST = '127.0.0.1'
const dgram = require('dgram')
const readline = require('readline');
const client = dgram.createSocket('udp4')
// 사용자 입력을 받기 위한 인터페이스 설정
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', (input) => {
const message = Buffer.from(input)
client.send(message, PORT, HOST, (error) => {
if (error) {
console.error(`메시지 전송 중 에러가 발생했습니다: ${error}`)
}
})
})
client.on('message', (message, remote) => {
console.log(`서버로부터 메시지를 받았습니다: ${message.toString()}`)
})
결과물
dgram 모듈을 사용하면 UDP 서버와 클라이언트를 만들 수 있다는 사실을 알았다.
특히 dgram.createSocket('udp4')가 참 직관적이었다...
참고
https://lhcsoft.blogspot.com/2019/03/node-js-udp-server-client.html
'공부 > TIL' 카테고리의 다른 글
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 4 - 5 (0) | 2023.07.30 |
---|---|
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 1 - 3 (0) | 2023.07.29 |
[Node.js] Socket.io를 이용한 TCP/IP chat program 구현 (0) | 2023.07.15 |
[Node.js] net을 이용하여 간단한 TCP/IP chat program 만들기 (0) | 2023.07.15 |
[모두의 네트워크] 9장 (무선 랜 이해하기) (0) | 2023.07.06 |