【发布时间】:2016-01-12 10:09:17
【问题描述】:
是否有任何用于 Node.js 的阻塞 network I/O 库?我们有用于文件系统 I/O 的同步工具,但我不确定 Node.js 中是否存在网络 I/O 的等价物。
我们可以像这样创建阻塞网络操作:
var available = true;
var messages = [];
var socket = io('http://localhost:8080');
socket.on('RESPONSE_RECEIVED', function () {
available = true; //we can confirm receipt, so we are free to process next message
var msg = messages.shift();
if (msg) {
sendData(msg);
}
});
function sendData(data) {
if (available) {
available = false;
socket.emit('SEND_NEW_DATA', data);
} else {
messages.push(data);
}
}
我已经确认这工作得很好..套接字连接在处理下一条消息之前等待响应。如果套接字“忙”,我们只需在队列中推送一条新消息。所以它是一个消息队列。
只是想知道我们是否可以使用任何更低级别的东西。我怀疑。
【问题讨论】:
标签: node.js sockets http networking io