UDP组播通信,发送数据正常,但是只能接受到本机发出的数据,为什么?

UDP组播通信,发送数据正常,但是只能接受到本机发出的数据,收不到其他机器发出的数据。这是代码:enter code hereSend_ACT_time_interval_set();
int nlen=sizeof(sact);
memcpy(sendbuf,(char*)&sact,sizeof(sendbuf));
int nlenm=sizeof(sendbuf);
int nlenn=sendto(socketMul,sendbuf,nlenm,0,(SOCKADDR*)&addrMul,sizeof(addrMul));
char recvbuf[1024];
if(nlenn>0)
{
printf("success send sock\n");
//closesocket(socketMul);
//Sleep(1000);

while(1)
{

int len=sizeof(addrMul);
int mlen=strlen(recvbuf);
int nret=recvfrom(socketMul,recvbuf,strlen(recvbuf),0,(SOCKADDR*)&addrMul,&len);
if(nlen>0)
{
printf("success recv sock\n");
closesocket(socketMul);
WSACleanup();
break;
请高手指点一下!!!