CC3200 UDP 广播无法接收
大家好
我利用两个demo芯片搭架普通网络,两个芯片都连接到同一个AP上
其中一块芯片用来发UDP广播(可以发出),另外一块用来接收UDP广播,但是始终无法接收到。
我接收流程处理为:
sLocalAddr.sin_family = SL_AF_INET;
sLocalAddr.sin_port = sl_Htons((unsigned short)5002); // 5002 端口
sLocalAddr.sin_addr.s_addr = 0;
iAddrSize = sizeof(SlSockAddrIn_t);
// creating a UDP socket
iSockID = sl_Socket(SL_AF_INET,SL_SOCK_DGRAM, 0);
if( iSockID < 0 )
{
// error
ASSERT_ON_ERROR(SOCKET_CREATE_ERROR);
}
// binding the UDP socket to the UDP server address
iStatus = sl_Bind(iSockID, (SlSockAddr_t *)&sLocalAddr, iAddrSize); //// 端口绑定
if( iStatus < 0 )
{
// error
sl_Close(iSockID);
ASSERT_ON_ERROR(BIND_ERROR);
}
// no listen or accept is required as UDP is connectionless protocol
/// waits for 1000 packets from a UDP client
while (1)
{
iStatus = sl_RecvFrom(iSockID, g_cBsdBuf, sTestBufLen, 0,
( SlSockAddr_t *)&sAddr, (SlSocklen_t*)&iAddrSize ); ///// 接收报文
我个人认为这个处理流程应该正确(可能真的存在错误),但我不清楚为什么无法接收到UDP广播 ?
请大家帮忙看看并解答下 , 谢谢
你如果用电脑也连到同样的AP,它可以收到这个广播吗?
你好
我也遇到了同样的问题,我测试了在局域网中使用网络调试助手可以正常的接收数据,向cc3200端口直接发送数据也可以接收到,但是使用广播方式相同端口cc3200就无法接受,请问你最后怎么解决的?