#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <winsock.h>

#pragma comment(lib, "ws2_32.lib")

#define close closesocket

#undef IP_ADD_MEMBERSHIP
#define IP_ADD_MEMBERSHIP 12

int main(void)
{
    WSADATA wsa={};
    WSAStartup(MAKEWORD(,),&wsa);

    SOCKET fd;
    SOCKADDR_IN localif;    

    fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
    ) {
        perror("socket");
        ;
    }

    localif.sin_family = AF_INET;
    localif.sin_port   = htons();
    localif.sin_addr.s_addr = htonl(INADDR_ANY);
    ) {
        perror("bind");
        ;
    }

    ;
    if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, (char *)&ttl, sizeof(ttl)) == SOCKET_ERROR) {
        printf("setsockopt IP_MULTICAST_TTL %d", WSAGetLastError());
        ;
    }

    struct ip_mreq mreq;
    memset(&mreq, , sizeof(mreq));

    mreq.imr_interface.s_addr = inet_addr("192.168.1.145");
    mreq.imr_multiaddr.s_addr = inet_addr("234.0.0.1"); //234.5.6.7

    ) {
        printf("setsockopt IP_ADD_MEMBERSHIP %d", WSAGetLastError());
        ;
    }

    while (true) {
        ] = {};
        );
        ) {
            perror("recv");
            ;
        }
        buf[n] = ;
        printf("%s", buf);
    }

    ) {
        printf("setsockopt IP_DROP_MEMBERSHIP %d", WSAGetLastError());
        ;
    }

    WSACleanup();

    ;
}

c/c++常用代码--udp多播的更多相关文章

  1. GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  2. 转--Android实用的代码片段 常用代码总结

    这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下     1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...

  3. 刀哥多线程之03GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  4. jquery常用代码集锦

    1. 如何修改jquery默认编码(例如默认GB2312改成 UTF-8 ) 1 2 3 4 5 $.ajaxSetup({     ajaxSettings : {         contentT ...

  5. Mysql:常用代码

    C/S: Client Server B/S: Brower Server Php主要实现B/S .net IIS Jave TomCat LAMP:L Mysql:常用代码 Create table ...

  6. javascript常用代码大全

    http://caibaojian.com/288.html    原文链接 jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  7. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

  8. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

  9. PHP常用代码大全(新手入门必备)

    PHP常用代码大全(新手入门必备),都是一些开发中常用的基础.需要的朋友可以参考下.   1.连接MYSQL数据库代码 <?php $connec=mysql_connect("loc ...

随机推荐

  1. Windows7:Visual Studio 2008试用版的评估期已经结束解决方法

    Windows7:Visual Studio 2008试用版的评估期已经结束解决方法       以前在Windows2003碰到这个问题时,都是到"控制面板→添加或删除程序"选择 ...

  2. 开源项目:DolphinPlayer

    Dolphin Player是一款基于FFmpeg解码视频播放器,支持大多数的音频和视频格式. 项目主页:http://code.google.com/p/dolphin-player/ 源代码Git ...

  3. 理解inode

    转载:阮一峰 http://www.ruanyifeng.com/blog/2011/12/inode.html 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最 ...

  4. 搭建高性能计算环境(四)、应用软件的安装之VASP

    1,将需要的软件包上传vasp.5.2.12.tar.gz.vasp.5.lib.tar.gz.benchmark.Hg.tar.gz. 2,创建vasp目录并解压软件包. mkdir /opt/va ...

  5. bitmag

  6. js随机生成字母数字组合的字符串 随机动画数字

    效果描述: 附件中只有一个index.html文件有效 其中包含css以及html两部分内容 纯js生成的几个随机数字 每次都不重复,点击按钮后再次切换 使用方法: 1.将css样式引入到你的网页中 ...

  7. ref和out的区别?

    ref 和out的区别在面试中会常问到: 首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传 ...

  8. C#获取本周周一的日期

    /// <summary> /// 获取本周的周一日期 /// </summary> /// <returns></returns> public st ...

  9. Data Mover Script Templates

    Datamover is probably the best way to export and import data between PeopleSoft databases and the sc ...

  10. ASP.NET中Server对象的几个方法

    HtmlDecode 已重载. 对已被编码以消除无效 HTML 字符的字符串进行解码.HtmlEncode 已重载. 对要在浏览器中显示的字符串进行编码.MapPath 返回与 Web 服务器上的指定 ...