socket设置成广播属性,往广播的地址发数据时,速度只有正常udp传输速率的大概1/8左右,不知道是否正常。
往固定ip发时速度挺快的,广播挺慢的,不知道是不是我设置有问题,又或者有什么例程代码可以参考。
下面是我的代码:
//filling the UDP server socket address
sAddr.sin_family = SL_AF_INET;
sAddr.sin_port = sl_Htons((unsigned short)usPort);
//sAddr.sin_addr.s_addr = sl_Htonl((unsigned int)g_ulDestinationIp);
sAddr.sin_addr.s_addr = sl_Htonl((unsigned int)SL_IPV4_VAL(192,168,1,255));
iAddrSize = sizeof(SlSockAddrIn_t);
// creating a UDP socket
iSockID = sl_Socket(SL_AF_INET,SL_SOCK_DGRAM, 0);
if( iSockID < 0 )
{
ASSERT_ON_ERROR(SOCKET_CREATE_ERROR);
}
SlSockIpMreq mreq;
sl_SetSockOpt(iSockID, SL_IPPROTO_IP, SL_IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));
while(1)
{
iStatus = sl_SendTo(iSockID, g_cBsdBuf, 1400, 0, &sAddr, iAddrSize);
if( iStatus < 0 )
{
// error
sl_Close(iSockID);
ASSERT_ON_ERROR(SEND_ERROR);
}
//UART_PRINT("%d, ", sTestBufLen+2);
MAP_UtilsDelay(2000);
}