[英]Is it possible to delay sending an ack in netty's socket.io implementation?
在使用https://github.com/mrniko/netty-socketio时,我正在使用队列和线程池来处理接收到的数据(对格式栈溢出感到抱歉,当我将代码放在不同的行上时会抱怨空格):
server.addEventListener("NEW_SELL_ORDER", SellOrder.class, (client, data, ackSender) -> actionQueue.add((connection) -> this.onNewSellOrder(connection, client, data, ackSender)));
问题在于, ackSender
不再可用,因为ackSender
会处理请求。
产生的问题是:是否可以延迟在netty的socket.io实现中发送确认消息?
参见: https : //github.com/mrniko/netty-socketio/blob/master/src/main/java/com/corundumstudio/socketio/AckRequest.java
是的,可以手动处理确认发送。
您应在配置中将确认模式切换为手动。
config.setAckMode(AckMode.MANUAL)
自己发送确认:
server.addEventListener("NEW_SELL_ORDER", SellOrder.class, (client, data, ackSender) -> { if (ackRequest.isAckRequested()) { ackRequest.sendAckData(...); } });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.