我的应用程序通过 Tomcat 8.5(servlet 3.1)的 JSR 356 实现使用 Web Sockets。根据 JSR,它应该使用 NIO,但我不确定是否理解。
当客户端请求 Web Socket 连接时,客户端和服务器之间会创建一个永久对话。在这种情况下,我想知道客户端或服务器的每个请求是否由 Tomcat 池的不同线程处理,或者是否始终专用于该连接。
此外,该线程如何处理请求?例如,它是等待 JDBC 调用(阻塞 IO)还是在这种情况下释放(NIO)?与众所周知的仅使用 NIO 的 Netty 相比,Tomcat 线程模型在 websocket 案例中有何不同/相似?