组播

转载 2011年01月19日 10:35:00

组播播出程序中主要的代码: 
        if   ((hSendSocket   =   socket(AF_INET,   SOCK_DGRAM,   0))   ==   INVALID_SOCKET) 
        { 
                sprintf(szPromoteMsg, "socket   failed   with:   %d/n ",   WSAGetLastError()); 
                AfxMessageBox(szPromoteMsg); 

                return   ; 
        } 
        //   Bind   the   socket   to   the   local   interface.   This   is   done   so   
        //   that   we   can   receive   data. 
        local.sin_family   =   AF_INET; 
        local.sin_port       =   htons(m_iPort); 
        local.sin_addr.s_addr   =   m_dwInterface; 

        if   (bind(hSendSocket,   (struct   sockaddr   *)&local,   
                sizeof(local))   ==   SOCKET_ERROR) 
        { 
                sprintf(szPromoteMsg, "bind   failed   with:   %d/n ",   WSAGetLastError()); 
                AfxMessageBox(szPromoteMsg); 

        return   ; 
        } 
        //   Setup   the   im_req   structure   to   indicate   what   group   we   want 
        //   to   join   as   well   as   the   interface 
        // 
        remote.sin_family             =   AF_INET; 
        remote.sin_port                 =   htons(m_iPort); 
        remote.sin_addr.s_addr   =   (m_dwTargetIPAddress); 
        
        mcast.imr_multiaddr.s_addr   =   (m_dwTargetIPAddress); 
        mcast.imr_interface.s_addr   =   m_dwInterface;//±¾µØÒÔÌ«Íø   MAC   µØÖ· 

        if   (setsockopt(hSendSocket,   IPPROTO_IP,   IP_ADD_MEMBERSHIP, 
                (char   *)&mcast,   sizeof(mcast))   ==   SOCKET_ERROR) 
        { 
                sprintf(szPromoteMsg, "setsockopt(IP_ADD_MEMBERSHIP)   failed:   %d/n ",           
                                                            WSAGetLastError()); 
                AfxMessageBox(szPromoteMsg); 

                return   ; 
        } 
        //   Set   the   TTL   to   something   else.   The   default   TTL   is   1. 
        optval   =   8; 
        if   (setsockopt(hSendSocket,   IPPROTO_IP,   IP_MULTICAST_TTL,   
                (char   *)&optval,   sizeof(int))   ==   SOCKET_ERROR) 
        { 
                sprintf(szPromoteMsg, "setsockopt(IP_MULTICAST_TTL)   failed:   %d/n ",   
                WSAGetLastError()); 
                AfxMessageBox(szPromoteMsg); 

                return   ; 
        } 
        //   Disable   the   loopback   if   selected.   Note   that   on   NT4   and   Win95 
        //   you   cannot   disable   it. 
        if   (bLoopBack) 
        { 
                optval   =   0; 
                if   (setsockopt(hSendSocket,   IPPROTO_IP,   IP_MULTICAST_LOOP, 
                        (char   *)&optval,   sizeof(optval))   ==   SOCKET_ERROR) 
                { 
                        sprintf(szPromoteMsg, "setsockopt(IP_MULTICAST_LOOP)   failed:   %d/n ",     
                        WSAGetLastError()); 
                        AfxMessageBox(szPromoteMsg); 

                        return   ; 
                } 
        } 
        bAllowedSending=TRUE; 
/* 
        BROADCASTPARAM   *pBroadcastParam=new   BROADCASTPARAM   ; 
        pBroadcastParam-> remote=remote; 
pBroadcastParam-> nRate=m_iRate; 
pBroadcastParam-> hBroadcastSocket=hSendSocket; 
pBroadcastParam-> bAllowedSending=bAllowedSending; 

AfxBeginThread(BroadcastThreadProc, 
                                                  (LPVOID)pBroadcastParam, 
  THREAD_PRIORITY_NORMAL, 
  0, 
  0, 
  NULL); 
*/

【H3C V7交换机实战课程-8】IP组播配置与管理

-
  • 1970年01月01日 08:00

简单的组播例子

SOCK_STREAM套接口(流套接口)的性质 1、不保留任何消息的边界       举一个例子:本地主机通过两次独立的write(2)调用向远程主机发送数据,第一次本地进程写入25字节的数据,并...
  • oldmtn
  • oldmtn
  • 2012-04-05 10:15:38
  • 2069

二层组播和三层组播

二层组播和三层组播
  • shaojwa
  • shaojwa
  • 2015-09-21 18:58:50
  • 4393

linux下使用socket实现组播

原文地址: http://www.tenouk.com/Module41c.html 概述 组播提供了在网络中进行一对多的发送的机制,组播可以是在一个网段内,也可以是跨网段的,不过...
  • shanzhizi
  • shanzhizi
  • 2013-09-13 09:26:07
  • 14314

网络直播,如何跳出组播的坑!

互联网上的直播,其数据传输方式都采用“单播”方式,所以大家在讨论直播技术时,少有人提及“组播”这个词。 然而,作为直播的组成部分,在广电有线电视、IPTV等应用中,“组播”依然承担着十分重要的作...
  • charleslei
  • charleslei
  • 2016-07-23 09:10:33
  • 5253

vlc搭建组播服务器 vlc

转自:http://blog.csdn.net/wangjiannuaa/article/details/6461316 搭建组播服务器  第一步:运行程序后选择“媒体--串流...
  • sno_guo
  • sno_guo
  • 2014-02-18 15:09:19
  • 5423

多播、组播、广播优缺点分析

单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在? ...
  • xiaopangzi313
  • xiaopangzi313
  • 2013-10-17 08:59:21
  • 1467

组播测试工具

  • 2012年09月03日 15:22
  • 30KB
  • 下载

组播地址的划分

组播地址的划分整个 IP 组播地址的空间划分如下图所示。    其中:  224.0.0.0 到 224.0.0.255 地址范围被 IANA 预留,地址 224.0.0.0 保留不做分配,其它地址供...
  • leesphone
  • leesphone
  • 2008-03-18 18:51:00
  • 3205

UDP 组播 实例

http://blog.csdn.net/yanyuanfen2011/article/details/16888801 最近一直在做linux的网络,现在作个总结,陆续贴出来。 在网上搜...
  • cjsycyl
  • cjsycyl
  • 2014-02-22 10:49:00
  • 18305
收藏助手
不良信息举报
您举报文章:组播
举报原因:
原因补充:

(最多只允许输入30个字)