Tool/software: TI-RTOS
Hello,
I am using TM4C129EXL device connected to a wireless router. I have a TCP protocol based communication with the network other endpoint on WiFi. The TM4C129 act as a TCP socket server and I have an android TCP client. When the connection is established the client uses a blocking socket read method to wait for the packets from the uC, it is an unidirectional communication. (Its a kind of a data acquisition system.) Each packet that I send from the uC side I have a counter value that I increment in each send. The client is get notified about packet loss if the delta btw. each counter is greater than 1.
My situation is the following: When multiple wireless AP are in the same room ( WiFi channels are probably same -> possible congestion) I see large number of data loss. The TCP is a reliable protocol so no packet can loss. So, when the sender not receives ACK for a send() a re-transmission should start.
My question is the following. If the uC sending packets continuously and a retransmission happens, where is the data stored that needed to be re-transmitted? Does the API overwrite it?
I am generating a triangle shape signal on the uC side and on the receiver side I have some deformation on the signal. Some of the packets are lost I but the life goes and further packets are received. What about the lost packets? How many times does the uC try to retransmit the packets? What happens after the last failed retransmission btw the other packets are delivered well? is there any way to detect this event? On the client side, I don't have any exception...
Looking forward your kind reply.
P.S.: Can you recommend any TI document where I can get more detailed information about NDK TCP packet loss?