`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