我正在使用https://github.com/TooTallNate/Java-WebSocket中的Java Websockets库。我想计算发送消息之间的延迟。当使用send(message);
函数时,是否会等到服务器收到数据包(因为它使用TCP),或者只是在它自己的线程中完成该方法。
谢谢!
答案 0 :(得分:2)
使用发送(消息)时;函数,将等到服务器收到方法
这句话甚至没有意义。服务器没有收到方法,它接收方法发送的数据。
(因为它使用TCP)
TCP API中没有任何内容等待对等方接收任何内容。当您通过TCP发送数据时,它将缓冲在本地套接字发送缓冲区中并立即返回。实际数据通过网络异步发送到对等体。如果底层套接字处于阻塞模式(默认),则发送缓冲区已满时发送块,否则它将以非阻塞模式返回短发送返回代码,或者在异步中发布某种Future
模式。您的问题可能与底层套接字中的哪些模式有关。
或者只是在自己的线程中完成该方法。
它总是在任何模式中都这样做。
答案 1 :(得分:0)
原来是
非阻塞事件驱动模型(类似于Web浏览器的WebSocket API)。
可以从README.MD
此处找到:https://github.com/TooTallNate/Java-WebSocket