Hi,
I'm using TCP connection between C6678 and PC (with static IP) and DSP sends data faster than the PC is able to receive and eventually the DSP TCP Tx buffer gets full, the transmission stops and doesn't start again.
On DSP side I have a multithread project with a thread dedicated to TCP communication.
The PC application is based on the helloworld app and it just receives data, doesn't try to close the connection or something like that.
If I use a blocking socket the DSP goes to the idle thread and if it's non blocking I get an EWOULDBLOCK error (as expected), but the transmission is not restored.
Using Wireshark I see that some seconds after the transfer stops there's an ARP request, the DSP answers back but the transmission is not restored (see picture attached).
So I'd like to know what exactly happens when TCP buffer is full and what I should do to restart transmission (I think this should happen automatically, but it isn't).
Tools versions:
CCS 5.1.0.09
C6000 compiler 7.4.0
SYS/BIOS 6.34.4.22
MCSDK 2.1.2.6
PDK_6678 1.1.2.6
NDK 2.22.03.20
Thanks