Cómo Linux implementa la transmisión de mensajes de difusión UDP

  
                

UDP es el protocolo de datagramas permanente. Tiene la misma función que el protocolo TCP. Usamos el protocolo UDP cuando hacemos el chat qq. La siguiente es una pequeña serie para presentar cómo Linux utiliza UDP para enviar y recibir mensajes de difusión. Levántate y consigue conocerlo.

[CPP] vista plaincopy

//fin de transmitir

#include

#include

#include

#include

#include

#include

#include

#include

#include

usando namespace std;

int main ()

{

setvbuf (stdout, NULL, _IONBF, 0);

fflush (stdout);

int sock = -1;

if ((sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1)

{

cout "" <; error de socket ";

return false;

}

const int opt ​​= 1;

//Establecer el socket La palabra es de tipo de difusión,

int nb = 0;

nb = setsockopt (calcetín, SOL_SOCKET, SO_BROADCAST, (char *) &opt, sizeof (opt));

if (nb == -1)

{

cout "" " establece error de socket. . <;

devuelve false;

}

struct sockaddr_in addrto; ​​

bzero (&addrto, sizeof (struct sockaddr_in));

addrto.sin_family = AF_INET;

addrto.sin_addr.s_addr = htonl (INADDR_BROADCAST);

addrto.sin_port = htons (6000);

int nlen = sizeof (addrto);

while (1)

{

sleep (1);

//Enviar un mensaje desde una dirección de transmisión

char smsg [] = {" abcdef "};

int ret = sendto (sock, smsg, strlen (smsg), 0, (sockaddr *) &addrto, nlen);

if (ret`0)

{

cout "" " enviar error. . . &##>

}

else

<

printf (" ok ");

}

}

return 0;

}

[cpp] view plaincopy
Anterior12Siguiente Total 2 Páginas

Copyright © Conocimiento de Windows All Rights Reserved