ZHCU938C May 2018 – January 2021 CC3100 , CC3100MOD , CC3200 , CC3200MOD
默认情况下,SimpleLink 器件对传入并收到的数据包(Rx 端)进行连接。这样做是为了支持更高的 Rx 吞吐量,并且适用于任何类型的套接字。这意味着当调用 sl_Recv() 或 sl_RecvFrom() 时,SimpleLink 器件会尝试返回这些 API 函数调用所请求的字节数。
当使用 UDP 套接字 (sl_RecvFrom) 时,这个特性可能会出现问题,因为 UDP 套接字是无连接的数据套接字,而服务器套接字可以从多个客户端接收数据,所以聚合这些数据包可能是错误的做法。
使用 sl_NetCfgSet() API 可以禁用数据包聚合功能。
u8 RxAggrEnable = 0;
sl_NetCfgSet(SL_SET_HOST_RX_AGGR, 0, sizeof(RxAggrEnable), (_u8 *) &RxAggrEnable);