Node.js网络通信方式:UDP协议

上篇介绍了TCP通信,本篇将介绍UDP通信协议:一种无连接,不可靠的传输方式,值得注意的是,所谓的不可靠,其实可以通过客户端采取特殊的策略来决定。

先安装dgram模块。

 

服务端项代码如下:

/**
 * UDP服务端
 */
//载入udp模块
const dgram = require("dgram");
//创建服务器
const server = dgram.createSocket("udp4");

server.on("message",(msg,rinfo)=>{
    //将接收到的消息返回客户端
    var strmsg = "你好,UDP客户端,消息已经收到!";
    server.send(strmsg,rinfo.port,rinfo.address);
    console.log("服务器接收到来自"+rinfo.address+":"+rinfo.port+" 的消息:"+msg.toString());
});

server.on("listening",()=>{
    let adress = server.address();
    console.log("服务器监听:",adress.adress+":"+adress.port);
});

server.on("error",(err)=>{
    console.err("服务器异常错误:"+err.message);
});

server.bind(8234,"127.0.0.1");

客户端项代码如下:

/**
 * UDP客户端
 */
const dgram = require("dgram");

const client = dgram.createSocket("udp4");

client.on("message",(msg,rinfo)=>{
    console.log("接收来自:"+rinfo.address+":"+rinfo.port+"的消息:"+msg.toString());
});

client.on("error",(err)=>{
  console.error("客户端错误:"+err.message);
});

client.on("close",()=>{
    console.log("socket已关闭");
});

client.send("我是UDP客户端!",8234,"127.0.0.1",(err)=>{
    if(err) client.close();
});

运行结果如下:

【服务端】

【客户端】

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值