node.js :net.Server connection 事件 与 net.Socket conntct事件 触发顺序。

http://nodejs.org/docs/latest/api/net.html#net_event_connection

http://nodejs.org/docs/latest/api/net.html#net_event_connect


服务器端 :connection 事件,当有一个新的连接时,触发。

客户端 : connect 事件当一个套接字连接成功建立了发出的。(已经完成三次握手)。


所在,在一个服务器、客户端都用node.js 实现的情况下,在一个网络连接过程中, 服务器端  connection 事件 比 connect 事件先触发。


netServer.js

var net = require('net');

var server = net.createServer({allowHalfOpen:true},function(c){ //有新链接,第一时间触发
    console.log('server connected');

    c.on('end',function(){
        console.log('server disconnected');
        c.end();
    });

    c.write('hello\r\n');
    c.pipe(c);
});

server.listen(8124,function(){
    console.log('server bound');
});

netClient.js

var net = require('net');

var client = net.connect({port:8124},function(){ //socket对象生成后触发(三次握手并成生socket对象之后)
    console.log('client connected');
    client.write('world\r\n');
});

client.on('data',function(data){
    console.log(data.toString());
    client.end();//发送FIN 包。
});

client.on('end',function(){
    console.log('client disconnected');
});

客户端 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值