nodejs代码段(六)

1.创建基本的TCP服务器


var net = require('net');
var HOST = '127.0.0.1';
var PORT = 9696;

net.createServer(function(sock){
	console.log('Server at '+HOST+':'+PORT);
	
	sock.on('data',function(data){
	    console.log('socket on data');
	});
	sock.on('close',function(data){
	    console.log('socket on close');
	});

}).listen(PORT,HOST);


net.createServer([options][,connectionListener]);


2.创建基本的TCP客户端

var net = require('net');
var HOST = '127.0.0.1';
var PORT = 9696;

var client = net.connect(PORT,HOST,function(){
	console.log('client connected');
	console.info();
});

client.on('data',function(data){
	console.info('client on data');
	console.info();
});

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


3.创建tcp服务器的一种方式 服务器绑定事件

服务器:

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var server = net.createServer();

server.on('listening',function(){
	console.log("listen at "+PORT);
	console.info();
});

server.on('connection',function(socket){
	console.log('server has a new connection');
	console.info();
	server.close();
});

server.on('close',function(){
	console.log('Server is now closed');
	console.info();
});

server.listen(PORT,HOST);


客户端:

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var client = net.connect(PORT,HOST,function(){
	console.log('client connected');
	console.info();
	client.end();
});

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


4.获取服务器地址参数

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var server = net.createServer();

server.on('listening',function(){
	console.log("listen at "+PORT);
	console.info();
	var addr = server.address();
	console.info("open server on");
	console.info("%j",addr);
	console.info();
	server.close();
	
});

server.on('connection',function(socket){
	console.log('server has a new connection');
	console.info();
	server.close();
});

server.on('close',function(){
	console.log('Server is now closed');
	console.info();
});

server.listen(PORT,HOST);


server.address()方法 用于获取地址参数的操作 返回一个json格式的对象


5.获得最大连接数

服务器

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var server = net.createServer();

server.on('listening',function(){
	console.log("listen at "+PORT);
	console.info();
});

server.on('connection',function(socket){
	console.log('server has a new connection');
	console.info();
	server.getConnections(function(err,count){
		if(err){
			console.info(err.message);
		}
		else{
			console.info('current connection is ' + count);
			console.info();
		}
	})
});

server.on('close',function(){
	console.log('Server is now closed');
	console.info();
});

server.on('error',function(err){
	console.log('Error occurred:',err.message);
	console.info();
});

server.listen(PORT,HOST);


getConnections的方法获取

客户端 

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var client = net.connect(PORT,HOST,function(){
	console.log('clientA connected');
	console.info();
	client.write("Hello server !");
});

client.on('end',function(){
	console.log('clientA disconnectd');
	console.info();
})
多开几个控制台作为客户端试试 

6.获取套接字地址


var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var server = net.createServer();

server.on('listening',function(){
	console.log("listen at "+PORT);
	console.info();
});

server.on('connection',function(socket){
	console.log('server has a new connection');
	console.info();
	console.info(socket.address());
	console.info();
	console.info(socket.localAddress);
	console.info();
	console.info(localPort);
	console.info();
	server.close();
});

server.on('close',function(){
	console.log('Server is now closed');
	console.info();
});

server.on('error',function(err){
	console.log('Error occurred:',err.message);
	console.info();
});

server.listen(PORT,HOST);


socket.address()与server.address()获取结果一样


7.套接字写数据

服务器

var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;

var server = net.createServer();

server.on('listening',function(){
	console.log("listen at "+PORT);
	console.info();
});

server.on('connection',function(socket){
	console.log('server has a new connection');
	console.info();
	
	socket.on('data',function(data){
		console.info('read:'+socket.bytesRead);
		console.info('DATA'+socket.remoteAdress+':'+data+'');
		console.info();
		
		socket.write('Server write '+data);
		
		console.info('writen is '+socket.byteWritten);
		console.info();
	});
	
	server.close();
});

server.on('close',function(){
	console.log('Server is now closed');
	console.info();
});

server.on('error',function(err){
	console.log('Error occurred:',err.message);
	console.info();
});

server.listen(PORT,HOST);

客户端


var net = require('net');
var HOST = '127.0.0.1';
var PORT =8877;
var sWriteContent = 'hello server!';
var client = net.connect(PORT,HOST,function(){
	console.log('clientA connected');
	console.info();
	client.write(sWriteContent);
	
});
client.on('data',function(data){
	console.log(data.toString());
	console.info();
	console.info("socket.byteRead is "+client.byteRead);
	console.info();
	client.end();
})
client.on('end',function(){
	console.log('clientA disconnectd');
	console.info();
})







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值