有人在 Micronaut websocket 客户端中使用过 wss://(安全)URL 吗?根据文档,它似乎应该可以工作,但我总是在连接时收到“打开 WebSocket 客户端会话时出错:异常关闭”错误,并且没有进一步的错误消息。该代码可以在不安全的 ws:// websocket 服务器上正常工作。
@MicronautTest
class WssTestTest {
@Inject
WebSocketClient webSocketClient;
@ClientWebSocket
public static abstract class TestWebSocketClient implements AutoCloseable {
@OnMessage
void onMessage(String message) {
System.out.println("message = " + message);
}
public abstract void send(@NonNull String message);
}
@Test
void testItWorks() {
String url = "wss://echo.websocket.org/";
Publisher<TestWebSocketClient> clientPublisher = webSocketClient.connect(TestWebSocketClient.class, url);
TestWebSocketClient client = Flux.from(clientPublisher).blockFirst();
client.send("Hello");
}
}
我向 micronaut-core github 存储库报告了这个 bug。
您现在可以通过设置 micronaut.http.client.alpn-modes=http/1.1 来解决这个问题