Nodejs系列-13-dgram模块
dgram模块提供了 UDP 数据包 socket 的实现
创建scoket实例
new dgram.Socket()
dgram.createSocket(type[, callback]) //type: 'udp4' 或 'udp6'
scoket实例下方法
绑定(监听)端口
server.bind([port][, address][, callback]) - prot: 未指定则由系统分配 - address: 默认 0.0.0.0,表示所有地址/IP - callback: 绑定成功后的回调
发送数据
server.send(msg, port, [address]) - msg: 发送的数据(字符串/Buffer)
关闭服务
server.close()
可监听事件
- close - error - listening - message
例子
service 部分
const dgram = require('dgram');
const serverSocket = dgram.createSocket('udp4'); //udp4 => ipv4
serverSocket.on('listening', () => {
console.log('服务器开启成功,等待数据:');
});
// 当接收到数据的时候出发
serverSocket.on('message', data => {
console.log('接收到了数据:', data.toString());
})
/**
* 监听指定的地址以及端口
*/
serverSocket.bind(8080, '127.0.0.1');
client 部分
const dgram = require('dgram');
const clientSocket = dgram.createSocket('udp4');
/**
* 发送数据
* UDP,无连接协议,不需要连接到服务器,然后再发数据
*/
clientSocket.send('hello', 8080, '127.0.0.1');