#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. SQL Server 开发指南

    SQL Server 数据库设计 一.数据库设计的必要性     二.什么是数据库设计     三.数据库设计的重要     四.数据模型          实体-关系(E-R)数据模型        ...

  2. U盘加载硬盘控制卡驱动安装Windows 2003 指南

    http://www.dell.com/Support/Article/cn/zh/cnbsd1/SLN263067

  3. VS2010调试生成的文件

    调试时IntelliTrace打开了,关闭IntelliTrace就可以了, Win7的话在C:\ProgramData\Microsoft Visual Studio\10.0\TraceDebug ...

  4. boa服务器安装

    boa是一个轻量级的web服务器,单进程单任务模式,支持CGI,是嵌入式行业应用较广的一个轻量级服务器系统. 这是我准备往嵌入式开发板里移植的时候在ubuntu上做的实验.多少有点参考价值. 现在简要 ...

  5. 必须会的SQL语句(一) 创建数据库与删除数据库

    1.创建数据库   Create database 名称 on primary {    name ='名称',    filename ='c:\xx\名称.mdf',    size = 10mb ...

  6. 软件工程 speedsnail 冲刺4

    2015-5-8 完成任务:学习了黑马android教学视频7.8.9集,对布局和计划做了调整: 遇到问题: 问题1 异常 Warning: Activity not started, its cur ...

  7. Windows2003 IIS开启Gzip网页压缩

    1.单击"开始"-"管理工具"-"Internet 信息服务(IIS)管理器",打开IIS管理器:2.在 "IIS 管理器&quo ...

  8. Widnows批处理异地备份数据

    @echo off@title Mysql+fileBckupset files=D:\backup\%date:~0,10%.rarset userdb="root"set pw ...

  9. PeopleSoft Related Language Records

    As we all know, PeopleSoft is capable of maintaining application data in multiple languages within t ...

  10. winform自动添加同级目录下可执行文件的快捷方式到右键菜单中

    /// <summary> /// 追加同目录下可执行文件到右键菜单中 /// 在form的Load事件中调用:new clsContextMenuStrip(this.FindForm( ...