Skip to content

Fix for exceptions thrown on an unexpected client disconnection.#83

Open
rh101 wants to merge 4 commits intoradu-matei:dotnetcore3from
rh101:exception-fix
Open

Fix for exceptions thrown on an unexpected client disconnection.#83
rh101 wants to merge 4 commits intoradu-matei:dotnetcore3from
rh101:exception-fix

Conversation

@rh101
Copy link
Copy Markdown

@rh101 rh101 commented Jul 15, 2020

If a WebSocket client disconnects without initiating the close handshake, an exception is thrown since the socket will be in an invalid state, so CloseOutputAsync() shouldn't be called, since there won't be anything to receive this message.

Also, CloseAsync() expects a full close handshake, whereas a CloseOutputAsync() will simply initiate the close and not wait for any response from a client, so in this case CloseOutputAsync is the one to use.

The API has changed slightly for the ConnectionManager, since the socket must still be removed on a client disconnection that did not involve the close handshake.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant