mi pregunta simplemente se relaciona con la diferencia de rendimiento entre un socket en C y en Python. Dado que mi versión de Python es CPython, supongo que es similar, pero tengo curiosidad por saber si alguien tiene puntos de referencia "reales", o al menos una opinión basada en la evidencia.C/Python Socket Performance?
Mi lógica es como tal:
- socket C mucho más rápido? luego, escriba una extensión C .
- not/arely a difference? seguir escribiendo en Python y averiguar cómo obtener control de nivel de paquete (scapy? Dpkt?)
Estoy seguro de que alguien va a querer saber, ya sea para el contexto o la curiosidad. Planeo construir un tipo de proxy para mí (no para la navegación por Internet, el anonimato, etc.) y vincularé la aplicación que quiero usar con un puerto específico. Luego, todos los paquetes en dicho puerto se pondrán en cola, se modificará el encabezado de dirección, y luego se enviará, etc.
Gracias de antemano.
Gracias Greg. Tienes especial razón sobre "¿es esto posible?" No lo creo. dpkt permite la capacidad de construir paquetes, pero estoy seguro de que no puedo usar el socket de python en un nivel de paquete (en contra de su propósito de abstracción). Por lo tanto, creo que tendré que escribir una extensión C para poder usar la biblioteca netfilter que me permita hacerlo. Pero ... esto podría requerir que haga los enchufes en C (no sé, nunca he hecho una extensión C antes). – Kevin
@Kevin, ¿por qué estás seguro de que no puedes hacer eso? ¿El soporte de socket "en bruto" no es adecuado? (Consulte el último ejemplo al final de http://docs.python.org/library/socket.html para empezar). –