首先在編輯器裏輸入以下代碼,我用的軟件是sublime3,很好用的一款編輯器,推薦。
var net = require('net')
var chatServer = net.createServer(),
clientList = []
chatServer.on('connection', function(client) {
client.name = client.remoteAddress + ':' + client.remotePort
client.write('Hi ' + client.name + '!\n');
console.log(client.name + ' joined')
clientList.push(client)
client.on('data', function(data) {
broadcast(data, client)
})
client.on('end', function() {
console.log(client.name + ' quit')
clientList.splice(clientList.indexOf(client), 1)
})
client.on('error', function(e) {
console.log(e)
})
})
function broadcast(message, client) {
var cleanup = []
for(var i=0;i<clientList.length;i+=1) {
if(client !== clientList[i]) {
if(clientList[i].writable) {
clientList[i].write(client.name + " says " + message)
} else {
cleanup.push(clientList[i])
clientList[i].destroy()
}
}
}
// 在寫入循環中刪除死節點,消除垃圾索引
for(i=0;i<cleanup.length;i+=1) {
clientList.splice(clientList.indexOf(cleanup[i]), 1)
}
}
chatServer.listen(9000)
接下來,首先win+r,輸入cmd打開終端。
然後將執行目錄切換到你的代碼所在的目錄下,我是將代碼命名爲chat.js ,然後放在h盤的js文件夾下面。接着只要輸入以下的代碼,就運行了。
然後再打開一個終端 ,輸入以下的代碼就可以聊天了。
按下回車之後就行看到,已經連接上服務器了,並且會顯示你的ip和端口,而在服務器端也會顯示哪個客戶端連接上了。
此時再打開一個客戶端連接上服務器,也會相應的顯示,接下來就可以進行聊天了。
一個客戶端輸入相應的字符,另一個客戶端就會進行顯示。
當你關閉一個客戶端時,在服務器端也會相應的顯示。