正在阅读:读书笔记:在局域网中实现多播功能读书笔记:在局域网中实现多播功能

2004-03-16 15:14 出处:CSDN 作者:hydnoahark 责任编辑:linjixiong


  cout<<"Error in setsockopt(IP_MULTICAST_TTL): "< return 0;
  }

  const int loopback = 0; //禁止回馈
  ret = setsockopt(server,IPPROTO_IP,IP_MULTICAST_LOOP,\
  (char*)&loopback,sizeof(loopback));
  if( ret == SOCKET_ERROR )
  {
  WSACleanup();

  cout<<"Error in setsockopt(IP_MULTICAST_LOOP): "< return 0;
  }

  sockaddr_in local;
  memset(&local, 0, sizeof(local));
  local.sin_family = AF_INET;
  local.sin_port = htons(MULTICAST_PORT);
  local.sin_addr.S_un.S_addr = INADDR_ANY;

  ret = bind(server, (sockaddr*)(&local), sizeof(local));
  if( ret == SOCKET_ERROR )
  {
  WSACleanup();

  cout<<"Error in bind: "< return 0;
  }

  ip_mreq mreq;
  memset(&mreq, 0, sizeof(mreq));
  mreq.imr_interface.S_un.S_addr = INADDR_ANY;
  mreq.imr_multiaddr.S_un.S_addr = inet_addr(MULTICAST_IP);

  //加入一个多播组
  ret = setsockopt(server,IPPROTO_IP,IP_ADD_MEMBERSHIP,\
  (char*)&mreq,sizeof(mreq));
  if( ret == SOCKET_ERROR )
  {
  WSACleanup();




察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品