Nodejs使用UDP通信传输JSON数据的方法 发表于 2024-12-02 | 评论数: | 阅读次数: 最近需要在Nodejs平台上使用UDP协议接收JSON数据,于是研究一下。 UDP服务器端代码1234567891011121314151617181920212223242526/** * 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); let jsonData=JSON.parse(msg) console.log("服务器接收到来自"+rinfo.address+":"+rinfo.port+" 的消息:"+jsonData.hello);}); 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客户端代码1234567891011121314151617181920212223242526/** * 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已关闭");});let jsonData={ hello: "我是UDP客户端!"} client.send(JSON.stringify(jsonData),8234,"127.0.0.1",(err)=>{ if(err) client.close();}); 参考链接 Node js 开发入门 —UDP 编程,小白也能轻松学会,by crmeb. UDP 报文最大可以是多大呢,by cft56200_ln. UDP传输报文大小详解,by luckyone906.