Af_inet es el primer argumento, mientras que SOCK_STREAM sería el siguiente. AF_INET representa la familia de la dirección IPv4. A diferencia de IPv6 a AF INET6, AF INET se refiere a la rama o reino. La comunicación TCP orientada a la conexión se conoce como sock_stream. Dentro de este artículo, analizaremos el uso del parámetro AF_INET en la programación de socket de Python dentro de la herramienta Spyder."
Ejemplo 1
Hemos estado comenzando con el primer ejemplo de este artículo para crear una conexión segura entre el socket y el servidor de host. Para esto, hemos estado importando el módulo de socket de Python en la primera línea y el módulo "SYS" en la segunda línea utilizando la palabra clave "import". Después de eso, hemos estado utilizando el concepto de manejo de excepciones mediante el uso de la declaración Try-Except de Python dos veces en este código.
En primer lugar, la instrucción Try ha sido crear un nuevo socket "s" utilizando la función "socket" de un módulo de socket en Python con sus dos parámetros, AF_INET y SOCK_STREAM. El AF_INET muestra que el socket usará la familia IPv4, y el sock_str eam se ha utilizado para utilizar el protocolo TCP para el flujo de conexión. La función de impresión ha estado utilizando la oración simple para imprimir en la consola de la herramienta Spyder para mostrar que se ha realizado la creación de socket.
Si el intento de obtener la dirección IP es exitosa, la declaración a menos que se omita la cláusula y el código restante se ejecute en consecuencia. La instrucción excepto se ha utilizado para mostrar el error en la consola si la creación de un socket se usó sin éxito el socket.Objeto de error y guardarlo en variable "E". Después de la instrucción Try-Except (), hemos estado iniciando el número de puerto "P" a 80 para el socket, i.mi., El puerto predeterminado de la conexión Socket a un servidor web es 80. El siguiente paso es resolver el host y conectar el socket con él usando la dirección IP del host.
Para esto, hemos estado utilizando la declaración de "try-except" una vez más en el código de Python. La instrucción Try se ha iniciado con el uso de la función gethostByName () del módulo de socket, que ha estado utilizando la URL de Google para obtener su "IP" y guardarla en la variable de cadera. Si la dirección IP se ha encontrado con éxito, no ejecutará la declaración excepto y continuará ejecutando las siguientes líneas de código. De lo contrario, si la instrucción excepto obtuvo el "gaierror" del módulo de socket, usará la instrucción de impresión para mostrar que no podemos resolver la IP de un host, y el módulo "SYS" se usará para llamar a su "Salir" () "Función para terminar el programa directamente en este momento.
Después de ambas declaraciones Try-Except, hemos estado utilizando la dirección IP recién recibida como "cadera" y el número de puerto "P" para conectar el socket con el host de Google, I.mi., Usando la función Connect () del módulo de socket. La declaración de impresión de la línea final mostrará que el socket se ha conectado correctamente al host de Google. Guardemos y ejecutemos nuestro código en el Spyder para ver lo que tenemos a cambio.
TOCKETOR DE IMPORTADespués de ejecutarlo, recibimos los mensajes de éxito en la pantalla de nuestra consola Spyder. El primer mensaje ha demostrado que el socket se creó perfectamente, y la segunda línea ha demostrado que la conexión también se estableció.
Ejemplo 02
Un sistema de comunicación llamado UDP envía paquetes individuales a través de la web sin garantías de entrega oportuna o llegada garantizada. La cita del día es un servicio que emplea UDP (QOTD). Hemos comenzado este programa con la importación del módulo de socket. Después de eso, hemos estado utilizando el administrador de contexto "con" para crear un nuevo socket como "SOC" utilizando los parámetros AF_INET y SOCK_DGRAM en la función Socket () del módulo de socket para crear un socket de datagrama de la familia IPv4.
Después de esto, hemos estado utilizando el "texto" variable para inicializar un mensaje vacío. El servicio QOTD opera pasando información aleatoria al socket; Cuando entregamos un mensaje en blanco, solo responde con una cita. Empleamos secuencias binarias para comunicaciones TCP/UDP. El número de puerto se ha establecido en 17 para recibir datos de cotización. Hemos estado utilizando la URL de un host y el número de puerto para obtener la dirección IP "ADR" del host en particular. Esta dirección "ADR" y el mensaje vacío "texto" se han pasado a la función sendto () del módulo de socket con el objeto "SoC" para enviarlo al host en particular.
La función "RecvFrom" es el método utilizado por los enchufes UDP para recuperar información. El tamaño del búfer sirve como su parámetro. La respuesta devuelta es un dúo (datos, dirección), en el que el parámetro "Dirección" es el identificador del socket que entregó los datos, y el parámetro "Info" es una secuencia de bytes que contiene los datos obtenidos. La declaración de impresión ha estado utilizando la función "decodificación" para decodificar y mostrar la información que tenemos.
TOCKETOR DE IMPORTACuando ejecutamos este programa, tenemos la cita a cambio.
Conclusión
Este artículo trata sobre el uso de la familia AF_INET de los módulos de enchufe en Python. Hemos probado dos ejemplos para crear un socket, conectarlo al host, enviar un mensaje vacío y recibir las cotizaciones del host.