簡體   English   中英

如何等待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具有帶有參數msgrinfo的回調。 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"));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM