Your answer belongs to your answer #2? So, I understood doing the array for the incoming data on Serial3 - what I didnt had implemented yesterday. What is not common with the XML-Header data? One may put the string into flash memory with F().

I dont get your question. This part works pretty stable. The function gets only the first 41 chars from the http header. But this section absolutly not belongs to my streaming-issue nor to the reboot phenomenon.

tBuf[41] is outside that array. It has a habit of putting that overflow into the next variable you declared, which in your case would be a pointer. If you put 0 in that pointer, that will now point to memory location zero. Assigning anything to that memory location will cause problems. In the "good old days" of the IBM PC, that would throw the "divide by zero" error. In your case, it might restart the program.

Very unprofessional on my site. I forgot having char array which are different declared than the int array :-)I was thinking of having a new feature: restart. This would be an other topic: How do a program a restart? Jumping to 0? Hmm... maybe not the stable way.

You seem to have found and fixed numerous bugs which might be related. Can you recap what the symptoms of the remaining problem are, and post the latest version of the code with all the other bugs corrected?

I only provide help via the forum - please do not contact me for private consultancy.