Signalr: Only 7-9 Clients allowed to connect to Hub Hosted on local IIS in Client OS

Created on 15 Jul 2016  ·  3Comments  ·  Source: SignalR/SignalR

We have developed small code to host signalR hub on local IIS in Client OS(like Windows 7 and others mention below),
But somehow once 7 to 9 clients gets connected and after that if any new client tries to connect it, it hangs in connecting mode, it went into infinite loading mode.

So in other words It works fine for 7-9 clients connected to SignalR hub but after that it does not allow to connect more client. If any of previous active client gets disconnected, it allow next waiting client to be connected.

Same thing is working fine for more than 200 clients for Hub hosted on IIS in Server OS(Windows Server 2012).

We have tried with the older and latest signalR versions. With 2-3 different Sample Codes. To check if problem is because of our coding or configuration problem.
We have also tested same thing on code available in below link and found same issue.
http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr#run

Environment info on which we have tested and experiencing problems
Operating System: Windows 7, Windows 8, Windows 8.1, Windows 10
IIS VERSIONS: IIS 7.0, IIS 8.0

Can someone provide info If we are missing any configurations that already exist to solve problem.

Most helpful comment

So IIS on Windows 7 and below doesn't support web sockets. Long polling is being used. That keeps a regular HTTP connection open for a long time.

You're then running in to the IIS limits imposed on the Windows client operating system. See here for a summary
http://www.jpelectron.com/sample/WWW%20and%20HTML/IIS-%20OS%20Version%20Limits.htm

Pro/Enterprise editions of Windows get 10 concurrent connections maximum.
Home editions get 3.
This isn't the TCP/IP connection limit - it's a limit imposed by IIS on client editions of Windows.

Also see http://weblogs.asp.net/owscott/windows-8-iis-8-concurrent-requests-limit

You could try IIS Express rather than full IIS. I _think_ it might not have the limit (as it's meant for dev work).

All 3 comments

So IIS on Windows 7 and below doesn't support web sockets. Long polling is being used. That keeps a regular HTTP connection open for a long time.

You're then running in to the IIS limits imposed on the Windows client operating system. See here for a summary
http://www.jpelectron.com/sample/WWW%20and%20HTML/IIS-%20OS%20Version%20Limits.htm

Pro/Enterprise editions of Windows get 10 concurrent connections maximum.
Home editions get 3.
This isn't the TCP/IP connection limit - it's a limit imposed by IIS on client editions of Windows.

Also see http://weblogs.asp.net/owscott/windows-8-iis-8-concurrent-requests-limit

You could try IIS Express rather than full IIS. I _think_ it might not have the limit (as it's meant for dev work).

Closing as per @IanYates comment.

@IanYates we get to the limit even when using only websockets. many of the websockets connect\reconnect requests hang. I opened a separate issue for this: https://github.com/SignalR/SignalR/issues/4095
The environment is described there

Was this page helpful?
0 / 5 - 0 ratings