国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

node+socket實(shí)現簡(jiǎn)易聊天室功能

發(fā)布時(shí)間:2021-08-17 12:16 來(lái)源: 閱讀:0 作者:言小溪 欄目: JavaScript 歡迎投稿:712375056

本文實(shí)例為大家分享了node+socket實(shí)現簡(jiǎn)易聊天室的具體代碼,供大家參考,具體內容如下

服務(wù)端

const net = require('net')
const  server = net.createServer()

//用戶(hù)列表
let clients = []

//監聽(tīng)連接
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(`用戶(hù)${name}上線(xiàn)`)
        }else{
            for (const client of clients) {
                if(client.name!==JSON.parse(data).name){
                    client.write(data)
                }

            }
        }
    })

    client.on('close',()=>{
        console.log(`用戶(hù)${client.name}下線(xiàn)`)
    })

    client.on('error',()=>{
        console.log(`用戶(hù)${client.name}發(fā)生錯誤`)
    })

})

server.on('error',(err)=>{
    console.log('服務(wù)器錯誤',err)
})

server.on('close',()=>{
    console.log('服務(wù)器關(guān)閉')
})

server.listen(9527,()=>{
    console.log("服務(wù)器開(kāi)啟")
})

客戶(hù)端

const net = require('net')
const readline =  require('readline')
//讀取輸入的信息
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

//名字
const name  =  process.argv[2]
//連接服務(wù)器
const client = net.createConnection({port:9527},()=>{
    console.log(name+'連接到服務(wù)器');
    client.write(`login:${name}`)
    client.name = name
    //開(kāi)始發(fā)送信息
    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('已從服務(wù)器斷開(kāi)');
});
client.on('error', () => {
    console.log('服務(wù)器錯誤');
});

//一直遞歸輸出
function sendMsg(client){

    rl.question('',(line)=>{
        client.write(JSON.stringify({
            name:client.name,
            msg:line
        }))
        sendMsg(client)
    })
}

演示

服務(wù)端

客戶(hù)端1

客戶(hù)端2

以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

精品日产卡一卡二卡麻豆| XXXXA特别高潮| 婷婷色国产精品视频一区| 欧美成人高清在线播放| 色综合天天综合网国产成人网| 精品多人P群无码|