BLUE
  • 161

【Node网络模块NET】

发布于 2017-10-10  约 3 分钟

环境:Node v8.2.1; Npm v5.3.0; OS Windows10

net 模块提供了创建基于流的 TCP 或 IPC 服务器(net.createServer())和客户端(net.createConnection()) 的异步网络 API。
我粘一个【TCP/IP、Http的区别】,对理解网络有帮助,里面总结得很好的一句话“TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据

1、模块结构图

图片描述

2、简单例子

2.1 服务端

const net = require("net"),
    host = "127.0.0.1",
    port = 3000;

const server = net.createServer(socket => {
    console.log("【server】:收到客户端请求");

    socket.on("data",data=>{
        console.log("【server】:收到来自客户端的数据-"+data.toString());
        // 给客户端返回数据
        socket.write("客户端你好,我是服务端")
    });

    socket.on('close', ()=>{
        console.log('【server】:客户端连接断开');
   });
}).listen(port,host,()=>{
    console.log("服务端开始监听");
})

2.2 客户端

const net = require("net"),
    host = "127.0.0.1",
    port = 3000;
const client = net.createConnection(port, host);

client.on("connect", () => {
    console.log("【client】:已经建立了与服务端的连接");
})

client.on("data", data => {
    console.log(`【client】:收到服务端消息-${data.toString()}`);
})

client.on("close", () => {
    console.log("【client】:连接已断开");
});

client.write("你好呀,服务端");

setTimeout(() => {
    client.end('你好,我是客户端');
}, 3000);
阅读 877发布于 2017-10-10

推荐阅读
BlueGo
用户专栏

海阔凭鱼跃,天高任鸟飞!

4 人关注
24 篇文章
专栏主页
目录