**//----------------------------------------------------------------server
const net = require(‘net’);
const server = net.createServer();
const host = ‘localhost’;
const port = 6000;
let count = 0;
const clients = {};
server.on(‘connection’, (client) => {
client.name = ++count;
clients[client.name] = client;
client.on(‘data’, msg => {
console.log(客户端${client.name}说:${msg.toString()}
);
boardCaster(client, msg);
})
client.on(‘error’, error => {
console.log(‘error is:’ + error)
})
client.on(‘close’, () => {
delete clients[client.name];
console.log(客户端${client.name}下线了
)
})
})
function boardCaster(client, msg) {
for (var key in clients) {
clients[key].write(客户端${client.name}说${msg.toString()}
)
}
}
// 监听服务器
console.log(1)
server.listen(port, host, () => {
console.log(服务器已启动,地址是:http://${host}:${port}
)
})
**//-----------------------------------------------------------client
const net = require(‘net’);
const socket = net.Socket();
const host = ‘localhost’;
const port = 6000;
const readline = require(‘readline’);
socket.connect(port, host, () => {
socket.write(‘我上线了’)
})
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
socket.on(‘data’, msg => {
console.log(msg.toString())
say()
})
socket.on(‘error’, (error) => {
console.log(‘error is:’ + error)
})
socket.on(‘close’, () => {
console.log(‘客户端已下线’)
})
function say() {
rl.question(‘请输入:’, (answer) => {
if (answer === 88 || answer === ‘bye’) {
socket.destroy()
rl.end()
} else {
socket.write(answer)
}
})
}