如何等待 Node.js 中的下一个事件?
How do I wait for the next event in Node.js?
我正在编写一个非常简单的 UDP 客户端示例。这是代码:
var dgram = require('dgram');
var msg = new Buffer('hello');
var s = dgram.createSocket('udp4');
s.send(msg, 0, msg.length, 6000, '127.0.0.1', function(err, bytes) {
if (err) throw err;
console.log('UDP message sent');
});
s.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port +' - ' + message);
});
如何让我的程序等待下一个事件,即来自服务器的回复?我试过使用 setImmediate,但它使我的 cpu 达到 100%,因此等待似乎很忙。又是代码:
function wait() {
setImmediate(wait);
}
wait();
使用 dgram 的 message
事件。 message
有一个带有参数 msg
和 rinfo
的回调。 msg
包含您收到的实际数据包的缓冲区,rinfo
包含有关发件人的信息(例如 IP 地址和端口)。
示例:
var dgram = require('dgram');
var msg = new Buffer('hello');
var s = dgram.createSocket('udp4');
s.send(msg, 0, msg.length, 6000, '127.0.0.1', function(err, bytes) {
if (err) throw err;
console.log('UDP message sent');
});
s.on('message', function (msg, rinfo) {
console.log('Message from '+packetInfo.address+': '+msg.toString("utf8"));
});
我正在编写一个非常简单的 UDP 客户端示例。这是代码:
var dgram = require('dgram');
var msg = new Buffer('hello');
var s = dgram.createSocket('udp4');
s.send(msg, 0, msg.length, 6000, '127.0.0.1', function(err, bytes) {
if (err) throw err;
console.log('UDP message sent');
});
s.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port +' - ' + message);
});
如何让我的程序等待下一个事件,即来自服务器的回复?我试过使用 setImmediate,但它使我的 cpu 达到 100%,因此等待似乎很忙。又是代码:
function wait() {
setImmediate(wait);
}
wait();
使用 dgram 的 message
事件。 message
有一个带有参数 msg
和 rinfo
的回调。 msg
包含您收到的实际数据包的缓冲区,rinfo
包含有关发件人的信息(例如 IP 地址和端口)。
示例:
var dgram = require('dgram');
var msg = new Buffer('hello');
var s = dgram.createSocket('udp4');
s.send(msg, 0, msg.length, 6000, '127.0.0.1', function(err, bytes) {
if (err) throw err;
console.log('UDP message sent');
});
s.on('message', function (msg, rinfo) {
console.log('Message from '+packetInfo.address+': '+msg.toString("utf8"));
});