node.js学习笔记之socket端口对象

来源:互联网 发布:淘宝卖家扣12分 编辑:程序博客网 时间:2024/06/17 15:26
/** socket端口对象* *//*使用socket端口对象的address方法来查看端口的地址信息*/var net = require('net')var server =net.createServer();server.on('connection',function (socket) {    //当客户端与服务端建立联系后,输出端口地址信息    address = socket.address();    console.log('被监听的地址信息为 %j',address);    //本机输出:被监听的地址信息为 {"address":"127.0.0.1","family":"IPv4","port":3000}}).listen(3000,'localhost');/*data事件的回调函数使用实例*/var net = require('net')var server = net.createServer();server.on('connection',function (socket) {    //设置数据的编码格式,或者输出时写data.toString()    socket.setEncoding('utf8');    socket.on('data',function (data) {        console.log(data)    })});server.listen(3000,'localhost');/*end事件的回调函数使用实例*/var net = require('net')var server = net.createServer();server.on('connection',function (socket) {    //设置数据的编码格式,或者输出时写data.toString()    socket.setEncoding('utf8');    socket.on('data',function (data) {        console.log(data)        console.log('已接受到%d字节的数据。',socket.bytesRead);    });    socket.on('end',function () {        //当客户端连接被关闭后,TCP服务器也被被关闭        console.log('客户端连接已关闭');    })});server.listen(3000,'localhost');/*使用pipe方法将所有的客户端发送的数据写入文件*/var net = require('net');var file = require('fs').createWriteStream('./message.txt');var server = net.createServer();server.on('connection',function (socket) {    socket.setEncoding('utf8');    //当end属性值为true时,当数据被全部读取完毕时立即结束操作    //当end属性值为false时,并不结束写操作,目标对象可以被继续写入新的数据    socket.pipe(file,{end:false});    //把数据写入文件中,5秒后在文件中追加“再见”,然后用unpipe方法取消对文件的写操作    setTimeout(function () {        file.end('再见');        socket.unpipe(file);    },5000)});server.listen(3000,'localhost');/*socket端口对象的pause方法与resume方法的使用实例*/var net = require('net');var file = require('fs').createWriteStream('./message.txt');var server = net.createServer();server.on('connection',function (socket) {    socket.setEncoding('utf8');    socket.pause();    setTimeout(function () {        socket.resume();        socket.pipe(file);    },30000);});server.listen(3000,'localhost');/*使用setTimeout方法指定客户端链接的超时时间*/var net = require('net');var file = require('fs').createWriteStream('./message.txt');var server = net.createServer();server.on('connection',function (socket) {    socket.setEncoding('utf8');    socket.setTimeout(10*1000);    socket.pause();    socket.on('timeout',function () {        socket.resume();        socket.pipe(file);    });    socket.on('data',function () {        socket.pause();    })});server.listen(3000,'localhost');

原创粉丝点击