我有个问题
为什么多播的接收端 本地端口必须跟多播端口一致才能收到数据
  local.sin_family = AF_INET;
  local.sin_port = htons(MCASTLOCATEPORT);//<--这个
  local.sin_addr.s_addr = INADDR_ANY;  if( bind(sock,(struct sockaddr*)&local,sizeof(local)) == SOCKET_ERROR )
  {
    ...
  }  //加入多播组
  remote.sin_family = AF_INET;
  remote.sin_port = htons(MCASTPORT);//<--这个
  remote.sin_addr.s_addr = inet_addr( MCASTADDR );
  if((sockM=WSAJoinLeaf(sock,(SOCKADDR*)&remote,sizeof(remote),NULL,NULL,NULL,NULL,JL_BOTH)) == INVALID_SOCKET)
  {
   ..... 
  }MCASTLOCATEPORT必须等于MCASTPORT才能收到数据
为什么!?
想知道的帮我顶!