```javascriptconst net = require('net');const port = 8080;const hostname = '10.31.163.20';const server = ateServer();const clients = {};let clinenum = ('connection', (client) => { //连接客户端client.name = ++clinenum //不同客户端编号clients[client.name] = ('data', (msg) => { //获取客户端发来的信息console.log(`客户端${client.name}发来信息>${msg}`)for (let key in clients) {clients[key].write(`客户端${client.name}发来信息>${msg}`)}})('error', (e) => {console.log(`错误是${e}`)});('close', (clineName) => { //客户端下线,提示信息delete clients[client.name]console.log(`客户端${client.name}已下线`)});});server.listen(port, hostname, () => { //监听服务器console.log(`server is running at:${hostname}:${port}`)})
```
const net = require('net');const socket = new net.Socket();const port = 8080;const hostname = '10.31.163.20';const readline = require('readline');const rl = ateInterface({ // 创建接口,进行信息的读写input: process.stdin,output: process.stdout})t(port, hostname, () => {socket.write('大家好')})('data', () => {rl.question('请输入', (answer) => {if (answer === 'bye') { //如果输入bye就关闭客户端socket.destroy()rl.end()} else {socket.write(answer + 'n')}})})('error', (e) => {console.log(`错误是${e}`)});('close', () => {console.log('客户端已下线')})
首先运行server.js,然后可以运行多个client.js模拟多个客户端操作
本文发布于:2024-01-27 19:01:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063533342042.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |