云服务器

商务合作:179001057@qq.com

Node.js使用UDP通讯

xiaoxiao2021-11-25  7


某平台价值19860元的编程课程资料免费领取【点我领取】


Node.js 的 dgram 模块可以方便的创建udp服务,,以下是使用 dgram模块创建的udp服务和客户端的一个简单例子。

一、创建 UDP Server

var dgram = require('dgram'); //创建 udp server var udp_server = dgram.createSocket('udp4'); udp_server.bind(5678); // 绑定端口 // 监听端口 udp_server.on('listening', function () { console.log('udp server linstening 5678.'); }) //接收消息 udp_server.on('message', function (msg, rinfo) { strmsg = msg.toString(); udp_server.send(strmsg, 0, strmsg.length, rinfo.port, rinfo.address); //将接收到的消息返回给客户端 console.log(`udp server received data: ${strmsg} from ${rinfo.address}:${rinfo.port}`) }) //错误处理 udp_server.on('error', function (err) { console.log('some error on udp server.') udp_server.close(); })

二、创建 UDP Client

var dgram = require('dgram'); var udp_client = dgram.createSocket('udp4'); udp_client.on('close',function(){ console.log('udp client closed.') }) //错误处理 udp_client.on('error', function () { console.log('some error on udp client.') }) // 接收消息 udp_client.on('message', function (msg,rinfo) { console.log(`receive message from ${rinfo.address}:${rinfo.port}:${msg}`); }) //定时向服务器发送消息 setInterval(function(){ var SendBuff = 'hello 123.'; var SendLen = SendBuff.length; udp_client.send(SendBuff, 0, SendLen, 5678, '172.30.20.10'); },3000);