3 formas de escribir un servidor con Python

Tabla de contenido:

3 formas de escribir un servidor con Python
3 formas de escribir un servidor con Python

Video: 3 formas de escribir un servidor con Python

Video: 3 formas de escribir un servidor con Python
Video: Cómo Archivar Correos Antiguos en Outlook y Liberar Espacio 2024, Abril
Anonim

Crear un servidor desde cero es una gran tarea. Sin embargo, hacerlo puede mejorar en gran medida sus habilidades de programación y puede permitirle modificarlo según sus necesidades. Este tutorial utilizará python y programación de sockets de bajo nivel para crear un servidor para que los clientes puedan comunicarse entre sí. Esto también solo cubrirá el proceso en Windows. Se proporcionará información en las instrucciones, pero si solo desea el código, se proporciona en las figuras. (Nota: las instrucciones que se presentan aquí son solo las básicas).

Pasos

Método 1 de 3: instalar Python

Escribir un servidor con Python Paso 1
Escribir un servidor con Python Paso 1

Paso 1. Descarga Python

Vaya al sitio web principal de Python y descargue Python 2.7.10. Después de que se descargue, siga los pasos del instalador de Python con la configuración predeterminada. Este enlace se proporciona aquí

Escribir un servidor con Python Paso 2
Escribir un servidor con Python Paso 2

Paso 2. Ejecute IDLE (Python GUI)

Vaya a la carpeta Python 2.7 y ejecute IDLE (Python GUI), python ahora debería estar en su menú de inicio donde se encuentra IDLE.

Escribir un servidor con Python Paso 3
Escribir un servidor con Python Paso 3

Paso 3. Cree un nuevo archivo

Vaya a Archivo en la esquina superior izquierda de la ventana recién abierta y seleccione Nuevo archivo, debería tener una ventana en blanco abierta con el título Sin título.

Método 2 de 3: creación del servidor

Escribir un servidor con Python Paso 4
Escribir un servidor con Python Paso 4

Paso 1. Importe los módulos necesarios

Los dos módulos necesarios para este código son "socket" y "threading". Esto se puede hacer escribiendo en la primera línea "from socket import *" y en la siguiente línea "import threading".

Escribir un servidor con Python Paso 5
Escribir un servidor con Python Paso 5

Paso 2. Crea un nuevo hilo

Esto se encargará de hacer coincidir 2 clientes entre sí. Los subprocesos son procesos que se pueden ejecutar mientras se ejecuta el programa principal. Escriba exactamente como se muestra en la figura. Esto configurará las variables en el hilo para que se puedan llamar más tarde.

Escribir un servidor con Python Paso 6
Escribir un servidor con Python Paso 6

Paso 3. Crear proceso de hilo

Para que los clientes se comuniquen directamente, deben enviarse la información de los demás, que incluye su dirección IP y qué puerto están usando. Para hacer esto, debe crear un objeto socket que se puede hacer con "variableName = socket (AF_NET, SOCK_DGRAM)". Esto creará un objeto de socket que usa el protocolo UDP. A continuación, vincule el conector a su dirección IP con un determinado número de puerto con “roomSocket.bind (('', self.port))” El área en blanco representa la dirección IP de su propia PC dentro de su red de área local y self.port asigna la número de puerto que se incluye cuando llama a este hilo. Lo último que tienes que hacer con este socket es enviar información a través de él. Dado que se trata de un socket UDP, simplemente debe conocer la IP y el puerto de la computadora a la que está enviando información, la sintaxis para enviar es "socketName.sendto (IP, port)"

Escribir un servidor con Python Paso 7
Escribir un servidor con Python Paso 7

Paso 4. Cree las variables globales

Para este paso, deberá definir varias variables, que incluyen una lista de usuarios, números de puerto, recuento de clientes, clientes para el hilo y la ID de la sala. También necesitará crear un socket para que su servidor pueda interactuar con Internet. Esto se hace creando un nuevo objeto de socket y vinculándolo a su dirección IP con un determinado número de puerto. (El número de puerto puede ser cualquier cosa, pero generalmente es algo alto para evitar que otro proceso lo use o que use números de puerto reservados).

Escribir un servidor con Python Paso 8
Escribir un servidor con Python Paso 8

Paso 5. Cree el proceso del servidor principal

Esto tomará la dirección del cliente y también iniciará el hilo creado anteriormente. Esto incluye esperar a recibir datos del búfer y obtener la dirección del cliente y guardarla para usarla en el hilo. La forma de obtener información de su socket es llamar por "socketName.recvfrom (1024)", el número aquí es solo la cantidad de bytes que se leen a la vez. En este ejemplo, lo estamos almacenando en una variable llamada userAddr, y una vez que esto sucede, puede guardar esta dirección en la lista que se creó en el paso 4. La declaración if creará un hilo de sala si dos personas se conectan y solo creará una sala. cuando suceden dos conexiones diferentes.

Escribir un servidor con Python Paso 9
Escribir un servidor con Python Paso 9

Paso 6. Guarde su trabajo

Esto debe hacerse en un directorio al que sea fácil acceder para que se pueda acceder fácilmente para realizar pruebas.

Método 3 de 3: prueba

Escribir un servidor con Python Paso 10
Escribir un servidor con Python Paso 10

Paso 1. Cree un cliente de prueba

Este es un cliente muy básico que solo manejará si el servidor ha enviado o no la información del otro cliente al cliente actual. Tenga en cuenta que, a diferencia del código del servidor, este código requiere un nombre de servidor. Si está ejecutando todo esto en una computadora, el nombre del servidor debe ser el nombre de su PC. Puede averiguar el nombre de su computadora haciendo clic derecho en Mi PC y yendo a Propiedades.

Escribir un servidor con Python Paso 11
Escribir un servidor con Python Paso 11

Paso 2. Guarde su trabajo

Debe estar en el mismo directorio que el código del servidor.

Escribir un servidor con Python Paso 12
Escribir un servidor con Python Paso 12

Paso 3. Abra tres ventanas de comandos diferentes

Vaya al menú de inicio y en la barra de búsqueda escriba "cmd" y presione enter. Haz esto tres veces. Las ventanas deberían verse así.

Escribir un servidor con Python Paso 13
Escribir un servidor con Python Paso 13

Paso 4. Ejecute los programas

Tendrá que escribir la ruta exacta cuando utilice la ventana de comandos. Primero deberá ejecutar el código del servidor en una ventana de comando y luego el código del cliente de prueba en las otras dos. Si todo fue exitoso, obtendrás algo de estos mensajes en tu ventana.

Advertencias

  • Este programa solo funcionará al ejecutarlo y probar clientes en la misma red de área local.
  • Python 2.7.10 está desactualizado y se acerca al final de su soporte. Para seguir haciendo buenos servidores, se recomienda instalar la última versión de Python 3.

Recomendado: