我有一个连接到远程 Websocket 服务器的 Java 应用程序。作为客户端,我使用标准 Java EE JSR356 WebSocket API :
javax.websocket.WebSocketContainer.connectToServer(...)
但是,我还没有找到使用此 API 指定连接超时的方法。当我调用 connectToServer(...) 方法时,它会阻塞,直到建立连接(这可能永远不会发生)。
有没有办法使用标准 API 指定连接超时?如果没有,有什么解决方法吗?
最佳答案
不幸的是,这并没有被 JSR 356 - WebSocket API for Java 曝光。 。您将需要使用实现功能,例如 HANDSHAKE_TIMEOUT在 Tyrus (引用实现)。其他实现很可能有类似的东西。
WEBSOCKET_SPEC中似乎还没有关于此的票证,因此您可以根据需要添加一个(我只能找到提到 SSL 属性的问题 - WEBSOCKET_SPEC-210 )。
关于jakarta-ee - 使用标准 JSR356 WebSocket 客户端的连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543003/