nodejs:net模块学习
net模块是是nodejs的一个核心模块。而且,http客户端与http服务端的通信均依赖于socket(net.Socket)。我也来学习一波
net模块的组成
不难看出,net模块主要包含两部分:
- net.Server:TCP server,内部通过socket来实现与客户端的通信。
- net.Socket:tcp/本地socket的node版实现,它实现了全双工的stream接口。
简单例子
netServer.js(服务端):
//导入net模块
const net =require("net");
//创建server
const server = net.createServer((socket)=>{
socket.write("Hello");
socket.on("data",(data)=>{
//转换格式,得到的data是buffer类型
console.log(data.toString());
});
socket.on("error",()=>{
console.log("socket对象发生error事件");
});
socket.on("close",()=>{
console.log("socket对象发生close事件");
})
})
//捕获server对象发生错误
server.on("error",()=>{
console.log("server对象发生error事件");
})
//监听端口
server.listen(8888,()=>{
console.log("socket已成功开启8888端口");
})
netClient.js(客户端):
const net =require("net");
//创建连接
let socket = net.createConnection(8888,"192.0.0.10",()=>{
console.log(