我正在使用node.js BinaryServer来传输二进制数据,并且在客户端调用.Stream.end()
函数之后,我想要来自服务器的回调事件。
我似乎无法理解 - 当node.js服务器实际关闭流连接时,如何发送消息或某种通知?
节点JS:
server.on('connection', function(client) {
client.on('stream', function (stream, meta) {
stream.on('end', function () {
fileWriter.end();
// <--- I want to send an event to the client here
});
});
});
客户JS:
client = new BinaryClient(nodeURL);
window.Stream = client.createStream({ metaData });
....
window.Stream.end();
// <--- I want to recieve the callback message
答案 0 :(得分:1)
在服务器端,您可以使用.send
将流发送到客户端。您可以发送各种数据类型,但在这种情况下,一个简单的字符串就足够了。
在客户端,您还可以收听'stream'
事件以从服务器接收数据。
节点JS:
server.on('connection', function(client) {
client.on('stream', function (stream, meta) {
stream.on('end', function () {
fileWriter.end();
client.send('finished');
});
});
});
客户JS:
client = new BinaryClient(nodeURL);
client.on('stream', data => {
console.log(data); // do something with data
});
window.Stream = client.createStream({ metaData });
....
window.Stream.end();