# FreeRTOS\_recv not receive more than 1000 bytes

**URL:** <https://forums.freertos.org/t/freertos-recv-not-receive-more-than-1000-bytes/8454>\
**Category:** Libraries\
**Created:** [December 18, 2019, 5:34pm UTC](https://forums.freertos.org/t/freertos-recv-not-receive-more-than-1000-bytes/8454 "2019-12-18T17:34:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ulysses](https://avatars.discourse-cdn.com/v4/letter/u/90ced4/32.png) [@ulysses](https://forums.freertos.org/u/ulysses)\
**Post date:** [December 18, 2019, 5:34pm UTC](https://forums.freertos.org/t/freertos-recv-not-receive-more-than-1000-bytes/8454/1 "2019-12-18T17:34:15Z")

</div>

Hi,

I’m receiving from FreeRTOS+TCP on this way:

```
xSizeReceive = 0;
while( (xReceLen = FreeRTOS_recv( xSocketSend, receive, sizeof(receive), 0 )) >= 0 ){
    //vTaskDelay(pdMS_TO_TICKS( 250 ) );
    xSizeReceive += xReceLen;
    DEBUGOUT("->: %d '%s'\n",xReceLen,receive);
}

```

When i receive smaller packages don’t have problem, but when the content has more than 1000 bytes i only receive 1000 bytes, and function _FreeRTOS\_recv_ return 0.  
I increase the _ipconfigNETWORK\_MTU_ for 1460 but don’t have diference, increase size of receive buffer to 4KB.

---

<div class="post-metadata">

**Author:** ![ulysses](https://avatars.discourse-cdn.com/v4/letter/u/90ced4/32.png) [@ulysses](https://forums.freertos.org/u/ulysses)\
**Post date:** [December 18, 2019, 7:09pm UTC](https://forums.freertos.org/t/freertos-recv-not-receive-more-than-1000-bytes/8454/2 "2019-12-18T19:09:56Z")

</div>

I changed my received method for this new, like [here](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial_Receiving_TCP_Data.html):

```
for( ;; ){
			/* Receive another block of data into the cRxedData buffer. */
			xReceLen = FreeRTOS_recv( xSocketSend, recBuf, sizeof(recBuf), 0 );

			if( xReceLen > 0 )
			{
				/* Data was received, process it here. */
				//prvPorcessData( cRxedData, lBytesReceived );
				DEBUGOUT("->: %d\n",xReceLen);
				xSizeReceive += xReceLen;
			}
			else if( xReceLen == 0 )
			{
				/* No data was received, but FreeRTOS_recv() did not return an error.
		            Timeout? */
				DEBUGOUT("Timeout\n");
			}
			else
			{
				DEBUGOUT("Shutdown\n");
				/* Error (maybe the connected socket already shut down the socket?).
		            Attempt graceful shutdown. */
				FreeRTOS_shutdown( xSocketSend, FREERTOS_SHUT_RDWR );
				break;
			}
		}

		while( (xReceLen = FreeRTOS_recv( xSocketSend, recBuf, sizeof(recBuf), 0 )) >= 0 ){
			//vTaskDelay(pdMS_TO_TICKS( 250 ) );
			//xSizeReceive += xReceLen;
			DEBUGOUT("->: %d '%s'\n",xReceLen,recBuf);
		}

```

For now is working, i’ll do more tests to validade.
