Java Websockets 发送方法是异步的还是等待?

Is the Java Websockets send method async or does it wait?

我正在使用来自 https://github.com/TooTallNate/Java-WebSocket 的 Java Websockets 库。我想计算发送消息之间的延迟。使用 send(message); 函数时,是等到服务器收到数据包(因为它使用 TCP),还是只是在它自己的线程中完成该方法。

谢谢!

原来是

non-blocking event-driven model (similar to the WebSocket API for web browsers).

这是从 README.MD 此处找到的:https://github.com/TooTallNate/Java-WebSocket

When using the send(message); function, will that wait until the server receives the method

这种说法甚至没有意义。服务器不接收方法,它接收方法发送的数据。

(since it uses TCP)

TCP API 中没有任何内容等待对等方接收任何内容。当您通过 TCP 发送数据时,它会缓存在本地套接字发送缓冲区中并立即 returns。实际数据通过网络异步发送到对等方。如果底层套接字处于阻塞模式(默认),则在发送缓冲区已满时发送阻塞,否则它要么 returns 非阻塞模式下的短发送 return 代码,要么发布 Future 某种异步模式。您的问题可能真的是关于底层套接字处于或不处于这些模式中的哪一种。

or does it just finish the method in its own thread.

在任何模式下它总是这​​样做。