在TcpServeMultiClient函数的基础上,设定每收10个TCP包关闭一次SocketID,关键部分贴出,TCP_PACKET_COUNT为10,在调试的时候发现,当每个TCP包有一定间隔时间的时候,是没有问题的,而当间隔时间比较短时(我是用鼠标快速点击tcp测试工具的发送按钮)时,会出现一个SocketID接收到的TCP包超过10个的情况,请问出现这种情况的原因是什么,如何解决? 谢谢指导
if(socketID[i] > 0){int LOOP = 0;UART_PRINT("\n\rReceiving:\n\r"); for(LOOP = 0;LOOP < TCP_PACKET_COUNT ; LOOP++){Ret = sl_Recv(socketID[i], g_cBsdBuf, BUF_SIZE, 0);for ( lLoopCount = 0;lLoopCount < Ret;lLoopCount++)MAP_UARTCharPut(UARTA0_BASE,g_cBsdBuf[lLoopCount]);memset(g_cBsdBuf,0,sizeof(g_cBsdBuf));}}
苜蓿草:
当设定10ms间隔自动发送的时候,一个SocketID会收到超多的tcp包