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.js

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

问题

怎么实现在这两个窗口进行聊天呢?

转载于:https://my.oschina.net/u/3094219/blog/806755

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值