代码如下
服务端正常启动,telent可正常链接
服务端代码
const net = require('net');
const server = net.createServer();
const PORT = 1234;
const HOST = 'localhost'
server.listen(PORT, HOST)
server.on('listening', ()=>{
console.log(`服务端开启在${HOST}:${PORT}`)
})
server.on('connection', (socket)=>{
socket.on('data', (chunk)=>{
const msg = chunk.toString() // 接受消息
console.log(msg)
// 回写数据
socket.write(Buffer.from('您好'+msg))
})
})
server.on('close', ()=>{
console.log('服务断关闭了')
})
server.on('error', (err) => {
if(err.code == "EADDRINUSE"){
console.log('地址正在被使用')
}else{
console.log(err)
}
})
客户端代码
const net = require('net');
const client = net.createConnection({
host:'127.0.0.1',
port:1234,
})
// 每当一个链接建立之后
client.on('connect',()=>{
client.write('拉钩教育') // 发送数据
})
client.on('data',(chunk)=>{
console.log(chunk.toString()) // 接收消息
})
client.on('error',(err)=>{
console.log(err)
})
client.on('close', ()=>{
console.log('客户端断开链接')
})
报错
如果将127.0.0.1改为localhost就可正常访问
Error: connect ECONNREFUSED 127.0.0.1:1234
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
errno: -4078,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 1234
}
客户端断开链接