网络 UDP-dgram
dgram模块是对UDP socket的一层封装,相对net模块简单很多,
UDP 客户端 VS UDP 服务端
首先启动UDP server 监听来自端口33333的请求.
function server(params) {
const PORT = 33333
const HOST = '127.0.0.1'
const server = dgram.createSocket('udp4')
server.on('listening', () => {
const address = server.address()
console.log('UDP Server listening', address.address, address.port);
})
server.on('message', (message, remote) => {
console.log(remote.address, remote.port, message);
})
server.bind(PORT, HOST)
server1()
}
function server1(params) {
const PORT = 33333
const HOST = '127.0.0.1'
const message = Buffer.from('MY Good')
const client = dgram.createSocket('udp4')
client.send(message, PORT, HOST, (err, bytes) => {
if (err) return
console.log('UDP message send to', HOST, PORT);
client.close()
})
}
server()
广播
function server1(params) {
const client = dgram.createSocket("udp4");
const msg = Buffer.from("hello world");
const port = 33333;
const host = "255.255.255.255";
client.bind(() => {
client.setBroadcast(true);
client.send(msg, port, host, (err) => {
if (err) return;
console.log("msg has been sent");
client.close();
});
});
}
function server2(params) {
const server = dgram.createSocket("udp4");
const PORT = 33333;
server.on("message", (message, info) => {
console.log("server get message from", info.address, info.port);
});
server.bind(PORT);
server1();
}