`TCP/IP Socket `协议通讯

服务端

/* 引入net模块 */
var net = require("net");

/* 创建TCP服务器 */
var server = net.createServer(socket => {
    /* 获取地址信息 */
    var address = server.address();
    var message = "the server address is" + JSON.stringify(address);

    /* 发送数据 */
    socket.write(message, function () {
        var writeSize = socket.bytesWritten;
        console.log(message + "has send");
        console.log("the size of message is" + writeSize);
    })

    /* 监听data事件 */
    socket.on('data', function (data) {
        console.log(data.toString());
        var readSize = socket.bytesRead;
        console.log("the size of data is" + readSize);
    })
    socket.on('close', function () {
        console.log('server close')
    })


})

/* 获取地址信息 */
server.listen(8000, function () {
    console.log("Creat server on http://127.0.0.1:8000/");
})

output

Creat server on http://127.0.0.1:8000/
the server address is{"address":"::","family":"IPv6","port":8000}has send
the size of message is65
I am Client
the size of data is11
server close
^C

客户端

let net = require("net")

let host = '127.0.0.1'
let port = 8000

/* 创建TCP客户端 */
let client = new net.Socket();

client.connect(port, host, function () {
    /* 向服务器发送数据 */
    client.write("I am Client")

})
/* 监听服务器传来的data数据 */
client.on('data', function (data) {
    console.log(data.toString())
    client.destroy()
})
/* 监听close事件 */
client.on('close', function () {
    console.log('client close')
})

output

the server address is{"address":"::","family":"IPv6","port":8000}
client close