8

I've got this JS application. All client side JS communicating with a third party stream server via web sockets. I have about 18 different web sockets open for one page. Firefox and Chrome handle this many open web sockets at once just fine. IE11 seems to have a limitation of 4 open web sockets at once. Once I open that 5th web socket, regardless of socket call to the third-party server, I get an error thrown by IE, which closes the socket and gives the general error "SecurityError" and expanding the proto section it gives me . Seems to be pretty generic errors from my searches. At first I thought there may be a trusted zone type issue with IE, but I've added the client site to my trusted zone as well as the server providing the data.

This post provides info on max number of websockets for Firefox & Chrome, but I don't see anything specific about IE. Are there any known limitations to IE and web sockets? Answered, see edit below.

This MDN site talks about increasing the max value, but again, I can't find anything about IE. Is there some IE setting to up the amount of open connections? Answered: see below edit.

EDIT: This site shows the max connections settings for IE. It looks like it's a registry setting in Windows that controls the amount of web socket connections. Interestingly enough, I don't have that registry Key anywhere, but there is still a limit for this. The page speaks of IE10, and I'm working with IE11 specifically. Does anyone know if there are registry settings for this in regards to IE11? Has anyone just added these feature web socket registry keys and solved this issue?

Community
  • 1
  • 1
Elrond
  • 435
  • 1
  • 5
  • 14
  • 2
    18 sockets talking to the same server? Seriously? – Bergi May 16 '14 at 17:22
  • Try the IE10 registry key. If the registry key isn't set it might simply mean "use default value" .. (although that page looks specific to the Web Browser *Control*.) – user2864740 May 16 '14 at 17:36
  • 2
    @Bergi - Huh, that was a constructive comment. Yeah, 18. Forced to based on the Third-Party provider's implementation - a stream of data based on a query and the page has multiple controls each with a unique query. It's actually faster having multiple sockets per control instead of crunching one massive data chunk into different ways for the control. Not sure why it seems wonky as all browsers support a max of a couple hundred. Is it because it's the same server that's freaking folks out? Are you going to tell me how I should rethink the architecture rather than answering the question? – Elrond May 16 '14 at 18:33
  • @user2864740 - Yeah, I tried it and it did not resolve anything. It does look like it's specific to someones app - the web browser control. If you can adjust this limit in your code for an app, there must be some way to adjust it for the browser specifically and have it apply to whatever page it serves up. – Elrond May 16 '14 at 18:39
  • 1
    @Elrond: Yeah, I'd guess using only one connection would be better, multiplexing the query streams into a single one. OK, if this is a Third-Party implementation you can't do much about it. And the question you asked is fine as a standalone anyway. – Bergi May 17 '14 at 04:52
  • Why on earth a client app would need 18 sockets open unless it is simulation of very complex system? I think you should re-consider implementation of your app that why it needs that many sockets open? Looks like you are using websockets for data-binding (DOM manipulation) where you are doing it WRONG. Make it with AJAX and done. Use WebSockets for long-polling apps like games, chat apps or real-time game scores etc. – Teoman shipahi Aug 27 '14 at 13:41

2 Answers2

2

The MSDN documentation you referenced is clear on the default being 6 concurrent connections (which means if not specified in the registry, that's what you'll get); and, if the documentation doesn't specify differently, it's probably safe to assume newer versions of Internet Explorer act in the same way as version 10.

Marc Durdin
  • 1,675
  • 2
  • 20
  • 27
0

Try setting through group policy. It worked for me.

https://jwebsocket.org/documentation/reference-guide/internet-explorer-tips

Harryom
  • 129
  • 6