node+socket 간이 채 팅 방 기능 구현
서버
const net = require('net')
const server = net.createServer()
//
let clients = []
//
server.on('connection',client=>{
client.on('data',(chunk)=>{
let data = chunk.toString()
if(data.match(/login:(.*)/)){
let name = data.match(/login:(.*)/)[1]
client.name = name
clients.push(client)
console.log(` ${name} `)
}else{
for (const client of clients) {
if(client.name!==JSON.parse(data).name){
client.write(data)
}
}
}
})
client.on('close',()=>{
console.log(` ${client.name} `)
})
client.on('error',()=>{
console.log(` ${client.name} `)
})
})
server.on('error',(err)=>{
console.log(' ',err)
})
server.on('close',()=>{
console.log(' ')
})
server.listen(9527,()=>{
console.log(" ")
})
클 라 이언 트
const net = require('net')
const readline = require('readline')
//
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
//
const name = process.argv[2]
//
const client = net.createConnection({port:9527},()=>{
console.log(name+' ');
client.write(`login:${name}`)
client.name = name
//
sendMsg(client)
})
client.on('data', (chunk) => {
let data = JSON.parse(chunk.toString())
if(data){
console.log(`[${data.name}] : ${data.msg}`)
}
});
client.on('end', () => {
console.log(' ');
});
client.on('error', () => {
console.log(' ');
});
//
function sendMsg(client){
rl.question('',(line)=>{
client.write(JSON.stringify({
name:client.name,
msg:line
}))
sendMsg(client)
})
}
시범 을 보이다서버
클 라 이언 트 1
클 라 이언 트 2
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express.js에서 오류를 처리하는 간단한 방법Express에서 오류를 처리하는 여러 가지 방법이 있습니다. 이를 수행하는 일반적인 방법은 기본 익스프레스 미들웨어를 사용하는 것입니다. 또 다른 방법은 컨트롤러 내부의 오류를 처리하는 것입니다. 이러한 처리 방식...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.