-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Socket limit reached - server doesn't recover #277
Comments
If you can write a local simple repro (i.e. does not involve Azure), then I might be able to investigate this. Elad |
What is Elad |
Oh sorry. The class you mentioned is just AspNetCoreWebSocketTransport with some logging added around opening the connection. No additional logic or changes. |
Can't reproduce. Here's an attempt. Client eventually crashes with Elad |
@darkl , is this resolved as we are still facing the same issue. |
You'll have to wait several minutes for the server to detect the disconnected clients, see this comment. |
I have implemented a router and a client in .net just to see how it works in general. Then I have deployed it to S2 AppService in Azure. The problem that I experience is that once the TCP connection limit is reached (~4k) and I close all the clients the router becomes unusable. I cannot connect any new clients. It seems that the connections are not being disposed.
This is the exception I'm getting:
System.AggregateException: One or more errors occurred. (Unable to connect to the remote server) ---> System.Net.WebSockets.WebSocketException: Unable to connect to the remote server ---> System.Net.Http.HttpRequestException: Nie mozna przeprowadzic operacji na gniezdzie, poniewaz w systemie brakuje miejsca na bufor lub poniewaz zostala zapelniona kolejka ---> System.Net.Sockets.SocketException: Nie mozna przeprowadzic operacji na gniezdzie, poniewaz w systemie brakuje miejsca na bufor lub poniewaz zostala zapelniona kolejka
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
which means pretty much this:
" An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full"
Could you pls advise?
The text was updated successfully, but these errors were encountered: