websocketpp icon indicating copy to clipboard operation
websocketpp copied to clipboard

handle_read_frame error

Open Dreksh opened this issue 9 years ago • 2 comments

I've created a simple websocket server that is meant to return the number of characters in the given string linked here.

The 'send' function works when it's within the open_handler. But for the message_handler, there is [2016-07-10 07:29:36] [error] handle_read_frame error: websocketpp.transport:7 (End of File).

Here are the debug messages for the message handler:

[2016-07-10 07:41:51] [devel] asio con handle_async_read
[2016-07-10 07:41:51] [devel] p = 0 bytes transferred = 8
[2016-07-10 07:41:51] [devel] calling consume with 8 bytes
[2016-07-10 07:41:51] [devel] Processing Bytes: 81 82 B6 00 24 55 DE 69 
[2016-07-10 07:41:51] [devel] bytes left after consume: 0
[2016-07-10 07:41:51] [devel] Complete message received. Dispatching
Got: hi
[2016-07-10 07:41:51] [devel] connection send
[2016-07-10 07:41:51] [devel] write_push: message count: 1 buffer size: 1
[2016-07-10 07:41:51] [devel] asio async_read_at_least: 1
[2016-07-10 07:41:51] [devel] write_pop: message count: 0 buffer size: 0
[2016-07-10 07:41:51] [frame_header] Dispatching write containing 1 message(s) containing 2 header bytes and 1 payload bytes
[2016-07-10 07:41:51] [frame_header] Header Bytes: 
[0] (2) 81 01 

[2016-07-10 07:41:51] [frame_payload] Payload Bytes: 
[0] (1) [1] 2

[2016-07-10 07:41:51] [devel] connection handle_write_frame
[2016-07-10 07:41:51] [devel] asio con handle_async_read
[2016-07-10 07:41:51] [error] handle_read_frame error: websocketpp.transport:7 (End of File)
[2016-07-10 07:41:51] [devel] connection terminate
[2016-07-10 07:41:51] [devel] asio connection async_shutdown
[2016-07-10 07:41:51] [devel] asio con handle_async_shutdown
[2016-07-10 07:41:51] [devel] connection handle_terminate

Dreksh avatar Jul 10 '16 07:07 Dreksh

The end of file "error" generally means the remote endpoint closed the connection without performing a WebSocket protocol closing handshake. This is forbidden by RFC 6455 in most cases and WebSocket++ reports it as an error. It is unfortunately something that non-conforming clients do occasionally.

You can do whatever you like with this information, including ignore it.

zaphoyd avatar Oct 04 '16 00:10 zaphoyd

Is there any way to make WebSocket++ not print this error to console?

Scyntrus avatar Jan 06 '24 19:01 Scyntrus