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



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

谢谢!

使用send(message)时;函数,会等到服务器接收到方法吗

那句话根本没有意义。服务器不接收该方法,而是接收该方法发送的数据。

(因为它使用TCP)

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

或者它只是在自己的线程中完成该方法。

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

原来是

非阻塞事件驱动模型(类似于web浏览器的WebSocket API)。

这可以从README.MD中找到,如下所示:https://github.com/TooTallNate/Java-WebSocket

最新更新