Me baje 11.5 y vi el modulo. Es bastante diferente a lo que yo propongo.
De partida, si hablamos desde el punto de vista de optimizacion, es bastante mas pesado utilizar ese modulo que este metodo.
Aparte, no bloquea nada, los paquetes siguen llegando. No hay algo que se pueda hacer desde vb para evitar el handshaking al 100%, pero si podemos aliviar y intentar que ejecute la menor cantidad de codigo posible.
Usar ese modulo no es la solucion, no me parece que este listo para soportar 10k sockets x segundo....
Aparte vos mismo lo dijiste, 11.5 en adelante, ¿Acaso son versiones conocidas por aguantar a turbinas?
Sobre la logica duplicada, quizas seria conveniente que saques el checkeo del modulo y utilices esto.
Yo no tengo acceso a botnets, solamente pude probarlo conmigo mismo abriendo sockets.. y lo que puedo decir es que utilizando este codigo y un par de optimizaciones mas, llegue a un retraso de 15 nanosegundos (en tiempo de ejecucion) cada 2k de sockets abiertos.
Algo interesante. Alguien contó las iteraciones de abrir-cerrar sockets con un timer 1 ms en vb? Si mal no recuerdo, en vez de abrirlo 1000 veces, lo hace 64 o 128. No se porque.
Hice la prueba haciendo algo sencillo en C;
- for (; Loop != 0; --Loop) {
- m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- connect(m_socket, (SOCKADDR*)&sockT, sizeof(sockT));
- closesocket(m_socket);
- printf(".");
- }
Los resultados son bastante diferentes. Creo que tiene que ver con el timeout que vb le da a las conexiones, o porque quizas el .connect del winsock tiene mucho mas de lo que muestra.
En fin, lo que intento decir con esto es que utilizando un codigo, supongo, mas rapido que el de las turbinas convencionales de vb, sufri solamente 15 nanosegundos, y eso hasta se le puede atribuir al uso de gettickcount en las variables de control de tiempo.
EDIT: No tengo el poder para demostrar nada. Lo unico que logre fue aumentar un poco la ram consumida, del 11.5 respecto a esto, por cada instancia de las turbinas. Voy a ver si despues pido prestados 100 bots.
PD: haha, es de 1999. Me pusieron Fibertel, estaba buscando juegos en red y encontre el ao. Ta bien, esto no dice nada, pero mira te lo digo inconfundible. Estaba en 5to grado, sin dudas, porque se lo comente a un amigo (que inocentes epocas) y nos pusimos a jugar.