getRemote().sendString(msg, new WriteCallback() {..}) 稳定吗?

Is getRemote().sendString(msg, new WriteCallback() {..}) stable?

我有

class MyWebSocket extends WebSocketAdapter

我需要使用以下方式将 text1、text2 和 text3 发送到 websocket 客户端:

getRemote().sendString(text, new WriteCallback() {...})

这个调用是异步的,所以我希望这项工作是在码头池的不同线程中完成的。

我的问题是:

我可以确定客户端上的序列是相同的:text1、text2 和 text3 吗?

如果是,请在官方文档中添加link。


更新: 在 RemoteEndpoint 的文档中,可以阅读:

void sendString(String text)
         throws IOException

Send a text message, blocking until all bytes of the message has been transmitted.

void sendString(String text,
                WriteCallback callback)

Initiates the asynchronous transmission of a text message. This method may return before the message is transmitted. Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.

那么,如果是带回调的sendString,如果在同一个线程中调用回调,如何实现异步呢?

另外,这两种方法有什么区别?

该调用只是将 WebSocket 端点的传出文本排队。

然后,当 NIO 层报告可以写入时,排队的消息将转换为帧,通过 WebSocket 扩展传递,屏蔽(如果从客户端发送),然后写入套接字。

一旦该帧的整个缓冲区写入套接字,就会触发 WriteCallback。

None 这是在另一个线程上。

只有 1 个线程处理写入,它只处理队列中的消息。