I have an application using httpsrv which runs well when accessed by Firefox and Chrome, however it gets 20 seconds to 1 minute lag (always multiples of 20 s - the socket timeout time) on "some" HTTP requests by Internet Explorer 11. As it is hard to convince the end user to adopt the browser of our choice, I'm trying to make it work with IE.
1. The problem happens if the page includes other files - in my case .js and .css files
2. The lag is due to the 20s session timeout - I have a max_ses of 2 (it doesn't matter how many I have, it crashes anyway) and when I stop the debugger during the problem both session tasks are stopped on "msg send"
3. Debugging it step by step I could find that both sessions are stuck trying to read data, and the recv function keeps returning TCP TIMEOUT error. It looks like the device is never receiving the GET request
4. IE requests lots of socket at once on connection beginning, and it looks like this is in some way interfering on httpsrv behavior. Wireshark shows the problem clearly:
Observing the red flow, it can be seen that the GET was issued on time 0.001, this packet was ACKed by the device on 0.011 - however the data starts being transferred only on 40.06! This happens after 4 other sockets are aborted (ports 52138, 52139, 52140, 52141). After 40s everything works...
This is the page which I use to simulate the problem - it doesn't matter that the CSSs and JSs doesn't exist in the directory:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link href="xx.css" rel="stylesheet">
<h1> TEST PAGE </h1>
I've seen a similar bug on an old MQX installation reported in this thread: Re: Can't open HTTPSRV web pages. Explorer keeps in waiting
However I've found that the suggestions in this task were already adopted on the MQX installation I'm using.
I'm using Kinetis SDK RTCS (MQX_KSDK_1.0.0) and MQX 4.1.1 (I've ported RTCS from KSDK to MQX 4.1.1 to get Websocket functions - however the changes I've done are minimal - I doubt there is any influence).
Thanks very much, I appreciate any help!