(UDP)GVCP广播不起作用



环境:使用VC 2010

的Windows套接字编程

GVCP:GIGE视觉控制协议

gvcp = udp (GVCP标头数据 有效载荷数据(。因此,基本上仅在其顶部仅在UDP上

用于检测GIGE传感器(相机(需要首先广播GVCP数据包(包含GVCP有效载荷数据(,使用广播地址255.255.255.255

但是,当我更改广播地址255.255.255.255时,我只能在192.168.1.255之前广播(如在金属丝上看到(

因此,问题无法使用IP 255.255.255.255使用UDP/Winsock

能够开始广播GVCP数据包的插座创建错误,正确的错误在

下方
//---------------------DATA SENDER------------------------------
        struct sockaddr_in Sender_addr;
        int     Sender_addrlen      =   sizeof(Sender_addr);    
        Sender_addr.sin_family      = AF_INET;
        Sender_addr.sin_port        = htons(CAMPORT);               //BROADCAST_PORT);
        Sender_addr.sin_addr.s_addr = inet_addr("255.255.255.255"); //Broadcast 
    IP Here");

//---------------------DATA RECEIVER----------------------------
        struct sockaddr_in Recv_addr;
        int     Recv_addrlen        =   sizeof(Recv_addr);
        Recv_addr.sin_family        = AF_INET;
        Recv_addr.sin_port          = htons(PCPORT);
        Recv_addr.sin_addr.s_addr   = INADDR_ANY;
        if(bind(sock,(sockaddr*)&Recv_addr,sizeof(Recv_addr))<0)    
        {
            perror("bind");
            _getch;
            closesocket(sock);
        }
//and then send command for GVCP packet (GVCP packet Structure is )
        TxBuff[0]   =   0x42;   
        TxBuff[1]   =   0x01;       
        TxBuff[2]   =   0x00;   
        TxBuff[3]   =   0x02;
        TxBuff[4]   =   0x00;   
        TxBuff[5]   =   0x00;
        TxBuff[6]   =   0x00;   
        TxBuff[7]   =   0x02;
    if(sendto(sock,TxBuff,TxBuffSize,0,(struct sockaddr 
    *)&Sender_addr,sizeof(Sender_addr)) <0)
                {
                perror("send: error ");
                _getch();
                closesocket(sock);            
            }

最新更新