Articles of tcp

Zócalos crudos y sendto en python.

Estoy trabajando en la integración de scapy con twisted, pero me encontré con un error muy extraño en OSX que parece que no puedo entender. Básicamente, no puedo enviar un paquete TCP válido (incluidos los encabezados IP) a través de un socket sin formato. Esto es lo que estoy haciendo: import socket from scapy.all import […]

¿Cuál es el impacto real de llamar a socket.recv con un tamaño de archivo que no es una potencia de 2?

Para leer datos de un socket en python, llame a socket.recv , que tiene esta firma: socket.recv(bufsize[, flags]) Los documentos de python para socket.recv indican vagamente: Nota: Para una mejor coincidencia con las realidades de hardware y red, el valor de bufsize debería ser una potencia relativamente pequeña de 2, por ejemplo, 4096. Pregunta : […]

Ejecutando una función periódicamente en protocolo torcido

Estoy buscando una manera de enviar periódicamente algunos datos a todos los clientes conectados a un puerto TCP. Estoy mirando python torcido y soy consciente de reactor.callLater. ¿Pero cómo lo uso para enviar algunos datos a todos los clientes conectados periódicamente? La lógica de envío de datos está en la clase de protocolo y el […]

Conectándome a mi mismo a través de mi IP pública a través de TCP

Estoy tratando de conectarme a mi propia máquina usando mi IP pública. Si utilizo 127.0.0.1 la conexión es exitosa, pero el uso de la IP pública produce el siguiente error: “ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it” Error de “ConnectionRefusedError: [WinError 10061] No connection could be made […]

Pitón. Imprimir la dirección mac de 6 bytes de cadena

Tengo la dirección mac en 6 bytes de cadena. ¿Cómo lo imprimirías en formato legible “humano”? Gracias

Vaciar el buffer de escritura de Twisted

La clase Connection de Twisted hereda el método de write de la clase abstracta FileDescriptor . Como puede ver aquí , la clase tiene un búfer que no se vacía hasta que el número total de bytes en búfer es mayor que bufferSize (atributo en la clase FileDescriptor ). Para mis necesidades específicas, me gustaría […]

Python socket module: Recv () respuesta de datos cortada

Explicación Actualmente estoy tratando de controlar una tira de energía inteligente usando un script de python. Para lograr esto, estoy usando una conexión TCP con el módulo de socket. Alrededor del 75% del tiempo, recibo la respuesta / los datos que estaba buscando y todo funciona perfectamente. Sin embargo, alrededor del 25% del tiempo, la […]

Medición de la latencia de ping de un servidor – Python

Tengo una lista de direcciones IP del servidor, necesito verificar si cada una está en línea y cuánto tiempo dura la latencia . No he encontrado ninguna forma directa de implementar esto, y parece que hay algunos problemas para calcular la latencia con precisión. ¿Algunas ideas?

¿Se puede utilizar SO_REUSEPORT en los sockets de dominio Unix?

Los kernels de Linux> = 3.9 permiten compartir sockets entre procesos con equilibrio de carga en el kernel configurando SO_REUSEPORT : http://lwn.net/Articles/542629/ ¿Cómo se puede usar esto para sockets de tipo AF_UNIX ? Parece que solo funciona con TCP, no con sockets de dominio Unix. Aquí hay un progtwig de prueba de Python: import os […]

Cómo cerrar la conexión de socket en Ctrl-C en un progtwig python

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) any_connection = False while True: try: conn, addr = s.accept() data = conn.recv(1024) any_connection = True # keep looking if not data: continue pid = os.fork() if pid == 0: server_process(data, conn) except KeyboardInterrupt: break if any_connection: print(“Closing connection”) conn.close() Estoy captando la señal de Interrupción de KeyboardInterrupt […]