12、网络编程之dgram模块(UDP)

来源:互联网 发布:java井字棋界面设计 编辑:程序博客网 时间:2024/04/18 21:33

UDP主要用于大数据的传输,不能保证传输的可靠性。

1、service端

const dgram = require('dgram');const server = dgram.createSocket('udp4');server.on('error', function(err) {    console.log('server error:' + err.stack);    server.close();});server.on('message', function(msg, rinfo){    console.log('接收到消息:' + msg);    console.log(rinfo);});server.on('listening', function(){    console.log('服务器开始监听!');});server.bind(41234);


2、client端

const dgram = require('dgram');const client = dgram.createSocket('udp4');var msg = new Buffer('你好,我是UDP客服端!','UTF8'); //此处发送的消息必须通过buffer处理,否则在发送的时候统计长度的时会出现错误client.send(msg,0,msg.length,41234,'localhost',function(){    console.log("发送消息成功!");});


运行结果:

service端:


client端:


操作说明先打开service端,然后打开client端,否则会报错。

备注:1)、注意区分TCP和UDP的区别;

             2)、端口的范围最大是65535,1-1000的端口号多被系统使用了,端口分配完了,系统会通过一定的算法自动回收,不会给我们的使用造成冲突。


官方手册:https://nodejs.org/dist/latest-v6.x/docs/api/dgram.html

0 0
原创粉丝点击