Net简单应用-服务器和客户端之间简单通讯

Scoket编程

建立服务器

  • 建立sever.js
  • 引用net工具包
  • 使用net.createSever()建立一个TCP服务器,并使用net.listen()监听指定端口
var net = require('net');

// 建立一个TCP服务器,function(connection){}是给connection事件建立的监听器,当有接收到请求的时候触发
var server = net.createServer(function (connection) {
    console.log('client connected');

    // 当 socket 另外一端发送 FIN 包时,触发该事件。
    connection.on('end', function () {
        console.log('客户端关闭连接');
    });

    // 写入数据,默认是uft8编码
    connection.write('Hello World!\r\n');

    // pipe()是管道流方法,把connection加到connection中
    connection.pipe(connection);
});

// 监听8080端口,客户端端口须要与其一致
server.listen('8080', function () {
    console.log('server is listening');
});

建立客户端

  • 新建 client.js
  • 引入net工具包
  • 使用net.connect()建立一个新的net.Socket对象并链接到指定端口(跟服务器端口一致)
  • 对data、end事件进行监听
var net = require('net');

// 返回一个新的net.Socket,并连接到指定的端口,这里是8080,端口须要与服务器保持一致
// 当socket创建的时候,将会触发‘connect’事件
var client = net.connect(
    {port: 8080},
    function () {
        console.log('连接到服务器');
    }
);

// data为net.Socket对象的事件,当接收到数据时触发
client.on('data', function (data) {
    console.log(data.toString());

    // 半关闭 socket。例如,它发送一个 FIN 包。可能服务器仍在发送数据。
    client.end();
});

// 当 socket 另外一端发送 FIN 包时,触发该事件。
client.on('end', function () {
    console.log('断开与服务器的连接');
});

运行: 打开两个窗口,先在其中一个端口启动服务器 node server.jsnode

在另外一个窗口运行客户端 node client.js编程

问题

怎么实如今这两个窗口进行聊天呢?服务器

相关文章
相关标签/搜索