On 26/08/2019 15:17, Johan Compagner wrote:
> Hi,

<snip/>

> That is a stack that we encounter which i find quite strange
> it seems to me that WsFrameBase.processDataControl
> 
> does a wsSession.onClose(new CloseReason(Util.getCloseCode(code), reason));
> 
> when it gets an op_code close
> 
> that sounds reasonably but the problem is WsSession will call when it was
> in a open state an sendCloseMessage:
> 
> if (state == State.OPEN) { state = State.OUTPUT_CLOSED;
> sendCloseMessage(closeReason);
> 
> 
> problem is it is closed so this will result in a exception (broken pipe
> stuff) when that is called
> 
> As far as i can understand it should not try to send a close message at
> that point, because the close did already happen from the client side..
> I guess if onclose was called programatically from the server side then it
> is logical.

RFC 6455, section 5.5.1

Close is a two-stage process and closing the TCP connection is the
server's responsibility.

Looks like you have a non-spec compliant client.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to