server.js文件:
var net = require("net");
var server = net.createServer();
server.on("connection",function(socket){
console.log("客户端与服务器端连接已建立");
socket.setEncoding("utf8");
socket.on("data",function(data){
console.log("已接收客户端发送的数据:"+data);
socket.write("确认数据:"+data);
});
socket.on("error",function(err){
console.log("与客户端通信的过程中发生了一个错误,错误编码为%s",err.code);
socket.destroy();
});
socket.on("end",function(){
console.log("客户端连接被关闭");
server.unref();
})
});
server.listen(8431,'localhost',function(){
console.log("服务器端开始监听");
address = server.address();
console.log("被监听的地址信息为%j",address);
});
server.on('error',function(e){
if(e.code == 'EADDRINUSE'){
console.log("服务器地址及端口已被占用");
}
});
client.js文件:
var net = require("net");
var client = new net.Socket();
client.setEncoding("utf8");
client.connect(8431,"localhost",function(){
console.log("已连接到服务器端");
client.write("你好");
});
client.on("data",function(data){
console.log("已接收服务器端发送的数据:"+data);
});
client.on("error",function(err){
console.log("与服务器连接或通信的过程中发生了一个错误,错误编码为%s",err.code);
client.destroy();
});
分别在两个命令行窗口执行
node server.js
node client.js
结果: