我想使用 nodejs 在套接字上 writeSync readSync。irc 上有人告诉我这是不可能的。但是 nodejs 提供了 setNoDelay(false)、socket.pause() 和 socket.resume(),它们允许我在阻塞模式下使用 socket fd。
这是一个例子:
client.on('connect', function() {
client.setNoDelay(false);
});
[...]
var b = new Buffer(10240);
client.pause();
fs.writeSync(client._handle.fd, JSON.stringify(req)+'\n');
var r = fs.readSync(client._handle.fd, b, null, b.length);
client.resume();
在这个例子中,我在读时得到了 EGAIN,在写时得到了 EPIPE。