NodeJs代码段(七)

1.udp服务器端

var dgram = require('dgram');

var HOST = '127.0.0.1';

var PORT =8877;

var server = dgram.createSocket('udp4');

server.on('listening',function(){

console.log("UDP Server listening on....");

console.info();

});

server.on('message',function(message,remote){

console.log("emmited message event");

console.info();

server.close();

});

server.on('error',function(err){

console.log("server error:\n"+err.stack);

console.info();

server.close();

});

server.on('close',function(){

console.log("server close");

console.info();

});

server.bind(PORT,HOST);

客户端

var dgram = require('dgram');

var HOST = '127.0.0.1';

var PORT =8877;

var message = new Buffer('UDP client to server: hello server');

var client = dgram.createSocket('udp4');

client.send(message,0,message.length,PORT,HOST,function(err,bytes){

if(err){

throw err;

}

console.log("UDP message sent to....");

console.info();

client.close();

});

client.on('close',function(){

console.log('client disconneced');

console.info();

})

2.简单的udp应用

服务器:

var dgram = require('dgram');

var HOST = '127.0.0.1';

var PORT =8877;

var server = dgram.createSocket('udp4');

server.on('listening',function(){

var address = server.address();

console.log("UDP Server listening on"+address.address+":"+address.port);

console.info();

});

server.on('message',function(message,remote){

console.log("received from"+remote.address+':'+remote.port);

console.log("-"+message);

console.info();

server.close();

});

server.on('error',function(err){

console.log("server error:\n"+err.stack);

console.info();

server.close();

});

server.on('close',function(){

console.log("server close");

console.info();

});

server.bind(PORT,HOST);

客户端:

var dgram = require('dgram');

var HOST = '127.0.0.1';

var PORT =8877;

var message = new Buffer('UDP client to server: hello server');

var client = dgram.createSocket('udp4');

client.send(message,0,message.length,PORT,HOST,function(err,bytes){

if(err){

throw err;

}

console.log("UDP message sent to"+HOST+':'+PORT);

console.info();

console.info(bytes);

console.info();

client.close();

});

client.on('close',function(){

console.log('client disconneced');

console.info();

})

3.数据报Udp广播服务的实现

服务器

var dgram = require('dgram');

var HOST = '127.0.0.1';

var PORT =8877;

var server = dgram.createSocket('udp4');

server.on('listening',function(){

var address = server.address();

console.log("UDP Server listening on"+address.address+":"+address.port);

console.info();

});

server.on('message',function(message,remote){

console.log("received from"+remote.address+':'+remote.port);

console.log("-"+message);

console.info();

server.close();

});

server.on('error',function(err){

console.log("server error:\n"+err.stack);

console.info();

server.close();

});

server.on('close',function(){

console.log("server close");

console.info();

});

server.bind(PORT);

客户端

var dgram = require('dgram');

var HOST = '255.255.255.255';

var PORT =8877;

var message = new Buffer('UDP client to server: hello server');

var client = dgram.createSocket('udp4');

client.bind(function(){

client.setBroadcast(true);

});

client.send(message,0,message.length,PORT,HOST,function(err,bytes){

if(err){

throw err;

}

console.log("UDP message sent to"+HOST+':'+PORT);

console.info();

console.info(bytes);

console.info();

client.close();

});

client.on('close',function(){

console.log('client disconneced');

console.info();

})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容