gpt4 book ai didi

java - 在netty的socket.io实现中是否可以延迟发送ack?

转载 作者:行者123 更新时间:2023-12-02 03:21:10 26 4
gpt4 key购买 nike

使用https://github.com/mrniko/netty-socketio时我正在使用队列和线程池来处理接收到的数据(很抱歉,当我将代码放在不同的行上时,格式化 stackoverflow 会提示空格):

server.addEventListener("NEW_SELL_ORDER", SellOrder.class, (client, data, ackSender) -> actionQueue.add((connection) -> this.onNewSellOrder(connection, client, data, ackSender)));

问题是 ackSender 不再可用,因为线程池稍后会处理请求。

由此产生的问题是:在netty的socket.io实现中是否可以延迟发送ack?

参见:https://github.com/mrniko/netty-socketio/blob/master/src/main/java/com/corundumstudio/socketio/AckRequest.java

最佳答案

是的,可以手动处理确认发送。

  1. 您应该在配置中将确认模式切换为手动。

    config.setAckMode(AckMode.MANUAL)

  2. 自己发送ack:

    server.addEventListener("NEW_SELL_ORDER", SellOrder.class, (client, data, ackSender) ->  {
    if (ackRequest.isAckRequested()) {
    ackRequest.sendAckData(...);
    }
    });

关于java - 在netty的socket.io实现中是否可以延迟发送ack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39573745/

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