zoukankan      html  css  js  c++  java
  • 多播及组播

    NPT_Result
    NPT_BsdUdpMulticastSocket::JoinGroup(const NPT_IpAddress& group,
                                         const NPT_IpAddress& iface)
    {
        struct ip_mreq mreq;

        // set the interface address
        mreq.imr_interface.s_addr = htonl(iface.AsLong());

        // set the group address
        mreq.imr_multiaddr.s_addr = htonl(group.AsLong());

        // set socket option
        NPT_LOG_FINE_2("joining multicast addr %s group %s",
                       iface.ToString().GetChars(), group.ToString().GetChars());
        int io_result = setsockopt(m_SocketFdReference->m_SocketFd,
                                   IPPROTO_IP, IP_ADD_MEMBERSHIP,
                                   (SocketOption)&mreq, sizeof(mreq));
        if (io_result == 0) {
            return NPT_SUCCESS;
        } else {
            NPT_Result result = MapErrorCode(GetSocketError());
            NPT_LOG_FINE_1("setsockopt error %d", result);
            return result;
        }
    }

  • 相关阅读:
    [USACO17JAN]Subsequence Reversal序列反转
    P1330 封锁阳光大学
    P1403 [AHOI2005]约数研究
    poj1456——Supermarket
    P1807 最长路_NOI导刊2010提高(07)
    P1137 旅行计划
    P1162 填涂颜色
    P1040 加分二叉树
    P1135 奇怪的电梯
    P1086 花生采摘
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3449898.html
Copyright © 2011-2022 走看看