/*
* 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');
node.js学习笔记之socket端口对象
最新推荐文章于 2024-08-12 15:53:26 发布