zoukankan      html  css  js  c++  java
  • UDP广播

    测试准备

    UDP广播常用于局域网内, 一次性给局域网内的所有主机发送消息
    如果只有一台电脑, 可以在手机里安装一个UDP接收端app

    注: 如果linux与windows机子互相ping不通, 可能是杀毒软件的原因

    实例

    与普通UDP client相比, 有两个不同:
    1.目标地址为xxx.xxx.xxx.255
    2.显示设置广播, 即setsockopt

    #include <unistd.h>
    #include <sys/socket.h>
    #include <arpa/inet.h>
    #include <netinet/in.h>
    #include <strings.h>
    #include <string.h>
    #define SERV_PORT 5555
    
    int main(int argc,char *argv[]){
        int sockfd;
        struct sockaddr_in servaddr;
        sockfd=socket(AF_INET,SOCK_DGRAM,0);
        bzero(&servaddr,sizeof(servaddr));
        servaddr.sin_family=AF_INET;
        servaddr.sin_addr.s_addr=inet_addr("192.168.1.255");
        servaddr.sin_port=htons(SERV_PORT);
    
        int on=1;
        setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,&on,sizeof(on));
        while(1){
            sendto(sockfd,"hello",strlen("hello"),0,(struct sockaddr *)&servaddr,sizeof(servaddr));
            sleep(3);
        }
        return 0;
    }
    
  • 相关阅读:
    新·刷题记录【争取认真来做】
    Codeforces 235D Graph Game
    Codeforces 235B Let's Play Osu!
    Codeforces 235E Number Challenge
    Codeforces 235C Cyclical Quest
    AHOI2017游记
    bzoj4826: [Hnoi2017]影魔
    大数分解模板
    A new start
    0712
  • 原文地址:https://www.cnblogs.com/cfans1993/p/6598323.html
Copyright © 2011-2022 走看看