gpt4 book ai didi

socket.io - 获得服务器发送/发射的确认

转载 作者:行者123 更新时间:2023-12-04 21:22:35 31 4
gpt4 key购买 nike

在 socket.io 确认示例中,我们看到客户端的发送/发射被服务器的响应回调。是否可以在相反的方向使用相同的功能 - 即服务器如何确认客户端接收来自服务器的发送/发送?即使只是为了表明接收成功,也有一个发送/发射回调会很好。没有看到此功能在任何地方记录...
谢谢!

最佳答案

看着 socket.io source我发现服务器发送的消息确实支持 ACK(但不支持广播!)(socket.io/lib/socket.js 的第 115-123 行):

if ('function' == typeof args[args.length - 1]) {
if (this._rooms || (this.flags && this.flags.broadcast)) {
throw new Error('Callbacks are not supported when broadcasting');
}

debug('emitting packet with ack id %d', this.nsp.ids);
this.acks[this.nsp.ids] = args.pop();
packet.id = this.nsp.ids++;
}

ack 应该如何工作的示例(未测试):
// server-side:
io.on('msg', (data, ackCallback) => {
console.log('data from client', data);
ackCallback('roger roger');
});

// client-side:
socket.emit('msg', someData, (answer) => {
console.log('server\'s acknowledgement:', answer);
});

关于socket.io - 获得服务器发送/发射的确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9568467/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com