What specific WebSocket protocol documentation are you looking at?

Netty's io.netty.handler.codec.http.websocketx.WebSocketProtocolHandler [1]
clearly handles pong frames. Also, the spec [2] says this:

    A Pong frame MAY be sent unsolicited.  This serves as a
    unidirectional heartbeat.  A response to an unsolicited Pong frame is
    not expected.

Can you open a Jira [3] for this? Please include the exception in the
description of the Jira to help other folks who are searching find it.
Thanks!

It's also worth noting that using amqpIdleTimeout=0 is a bit dangerous as
any connection that fails without being explicitly closed will not be
cleaned up on the broker. This risks an accumulation of "zombie"
connections on the broker which may starve legitimate connections of
resources and ultimately cause the broker to fail.


Justin

[1]
https://github.com/netty/netty/blob/4.1/codec-http/src/main/java/io/netty/handler/codec/http/websocketx/WebSocketProtocolHandler.java
[2] https://www.rfc-editor.org/rfc/rfc6455#section-5.5.3
[3] https://issues.apache.org/jira/browse/ARTEMIS

On Fri, Jan 17, 2025 at 2:00 AM <optimuser...@gmail.com> wrote:

> Hello everyone,
>
>
>
> We are using ActiveMQ Artemis Server version 2.33.0 on a Windows platform
> and run it as a service.
> We use AMQP over WebSocket protocol and have configured the websocket
> acceptor to have amqpIdleTimeout=0.
> In our setup we use IIS as a reverse proxy between the clients and the
> broker. The clients will no longer send keep-alive requests because of the
> amqpIdleTimeout configuration.
>
>
>
> However IIS does send Pong frames to the broker after the client is idle
> for 30s.
> Looking at the implementation of
> WebSocketServerHandler.handleWebSocketFrame, it seems that the Pong frame
> is not supported and an exception is thrown. The exception appears in the
> logs.
>
>
>
> Looking at the WebSocket protocol documentation, it seems that a Pong
> request should be supported.
>
>
>
> Our issue is that Artemis closes the connection immediately after
> receiving the Pong. Is this intended with regard to the protocol?

Reply via email to