Page 1 of 1

Reliable TCP live data streaming

Posted: Thu Aug 11, 2016 12:53 pm
by George_
Looking for a developer who is comfortable with ESP8266 to be able to design up the wifi module to reliably stream live data from UART or SPI through TCP.

I have attempted this with the firmware and was able to only get 1 TCP socket sending at 50ms intervals with a few hiccups every few minutes of 500+ms gap between messages. The 500ms+ hiccup is the main problem, as this defeats the purpose of my live data streaming.

The streaming data can hiccup but no longer then 100ms. (the less the better)
The application needs to stream live data preferably 200Hz+ with packets around 20-100 Bytes each packet.
Preferably have the above two working with multiple devices (up to 2 or 3) connected to the same AP at once.
The ESP8266 will be used on both the AP and STA end of the WiFi connection.

please contact if interested.

Thank you,

Re: Reliable TCP live data streaming

Posted: Wed Mar 17, 2021 1:46 am
by mathygreen
Transmission Control Protocol is one of the earliest, most foundational networking protocols, and it’s used extensively by core internet applications such as the World Wide Web (HTTP), email (SMTP), File Transfer Protocol (FTP), and many others. It’s best suited for applications where reliable, accurate delivery is more important than timeliness.

TCP was designed to offer a highly reliable, end-to-end byte stream over an unreliable network. It “cares” about the quality of the data stream and prioritizes an ordered, reliable delivery of packets. It achieves this through a technique known as positive acknowledgment with retransmission.

This means that it requires a handshake between hosts, and it detects issues with IP packets — whether they’re due to network congestion, issues with load balancing, or other unpredictable network behaviors. If TCP determines that IP packets are lost, duplicated, or out of sequence, it’ll request retransmission of missed data, correct out-of-order data, and even minimize network congestion. Once the sequence of packets has been assembled in the appropriate order, the TCP receiver passes the data to the receiving application.

Because it prioritizes an accurate, reliable stream, TCP can incur lengthy delays (several seconds) while waiting for out-of-order messages or retransmission of lost messages. As such, it’s generally considered unsuitable for real-time transmissions, where timeliness is more important than packet loss.