Does Windows 7 impose a limit on incoming Websocket connections?

2

1

I've spent the last hour searching Google for this, and while there's quite a lot of content on it, I still can't figure it out.

My situation:

I'm using Windows 7 64bit and I've got a web chat server running in node.js that uses Socket.IO (which uses websockets in modern browsers). Will I be limited to 20 people online chatting simultaneously? If so, is the only (legal) way to fix this to either use Linux or pay for Windows Server, or are their other options?

Things I've found while searching:

The Microsoft software license terms says:

f. Device Connections. You may allow up to 20 other devices to access software installed on the licensed computer to use only File Services, Print Services, Internet Information Services and Internet Connection Sharing and Telephony Services.

I'm having trouble with the legalese here. It specifically lists types of services, so are those the only things that are limited? Or is there a limit on all connections, even from 3rd party programs?

This question on SuperUser seems to have the same confusion (discussion in the comments on the question):

Remove Windows 7's limitation on number of concurrent tcp connections (http web requests)

But the asker of that question is making requests, not receiving them, and in his case they're all between the same two devices. My situation is different.

I've also found quite a few sources that mention the limit is on "half-open" connections, but I still can't figure out exactly how those work. I've read this:

what is TCP Half Open Connection and TCP half closed connection

That explains what they are, but how do I prevent them? Are these "half-open" connections out of my control? It sounds like a connection is half-open while it is in the process of being opened, which would only depend on how quickly my computer and the remote computer establish the connection. In that case, there'd be nothing I could do to make it faster if it was the remote computer that was taking a long time to connect, right?

I'd appreciate any input on this, preferably with some sort of reference. There are a lot of questions, forums, and articles out there on this, and it seems a lot of them contradict themselves. It may be that there are actually several different limits here, and that's why I'm getting so many mixed results. If that's the case, could someone be so kind as to list the various limits and explain them? I'm hoping someone can provide me with a more definitive answer!

gfrung4

Posted 2015-02-24T04:02:57.590

Reputation: 1 023

@krowe Yes, if you Google this topic that link shows up on the first page. I've been there. The registry key mentioned did not exist for me, so I created it as the article suggested, but I have no indication of it actually having any effect. The article mentions the limit first being created in Windows XP, but does not mention if it still exists in current Windows. I've read in other sources that the limiting changed in Windows 7, so for all I know that article is out of date. Any confirmation on whether that actually works? – gfrung4 – 2015-02-24T05:46:53.803

I think all MS is trying to do with that restriction is to prevent users from turning Windows into an Enterprise version, which costs much more. I doubt it applies to 3rd party software, all the software mentioned in your quote is MS installed software. – Moab – 2015-02-24T06:05:26.253

I have no definitive information to add (aside from that most services which this would affect works just as well from a Linux Box). This was simply added so that anyone who may run into this page would have definitely seen it. – krowe – 2015-02-24T06:06:22.877

When you run Windows 7 as a web chat server, it's gonna take incoming connections, not outgoing. So you are wondering if it can handle 20 or more incoming connections from chat clients. Outgoing means your computer wants to connect to 20 different chat servers which I believe is not the case. – icelava – 2015-02-25T02:16:29.437

Since you are operating on Node.js and not IIS, you do not have any license limitations. You can have as many connections to Node.js as the hardware is able to handle. – icelava – 2015-02-25T02:17:59.893

No answers