修复单个WebSocket并发问题
This commit is contained in:
@@ -269,12 +269,13 @@ class WebSocketRunner implements Runnable {
|
|||||||
ByteBuffer[] buffers = entry.packet.sendBuffers != null ? entry.packet.duplicateSendBuffers() : entry.packet.encode(context.getBufferSupplier());
|
ByteBuffer[] buffers = entry.packet.sendBuffers != null ? entry.packet.duplicateSendBuffers() : entry.packet.encode(context.getBufferSupplier());
|
||||||
lastSendTime = System.currentTimeMillis();
|
lastSendTime = System.currentTimeMillis();
|
||||||
channel.write(buffers, buffers, this);
|
channel.write(buffers, buffers, this);
|
||||||
|
} else {
|
||||||
|
writing.set(false);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
context.getLogger().log(Level.WARNING, "WebSocket sendMessage abort on rewrite, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", e);
|
context.getLogger().log(Level.WARNING, "WebSocket sendMessage abort on rewrite, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", e);
|
||||||
closeRunner(RETCODE_SENDEXCEPTION, "websocket send message failed on rewrite");
|
closeRunner(RETCODE_SENDEXCEPTION, "websocket send message failed on rewrite");
|
||||||
}
|
}
|
||||||
writing.set(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user