Hace unos meses me embarqué en un proyecto considerable en el que no me quería meter, pero azuzado por un amigo al que había explicado mis razones, que por cierto ha desertado sin llegar a empezar , pues ya estoy metido de lleno. Se trata de una implementación de emule desde 0, hecha en c++ y qt. He ido avanzando bastante, pero he llegado a un punto en el que ando perdido, y de momento el respaldo por parte de programadores de la comunidad oficial ha sido inexistente. Supongo que es imposible que haya alguien por aquí con conocimientos del tema, sobretodo del protocolo cliente-servidor y cliente-cliente, o que me pueda ayudar a interpretar el código fuente original, pero dicho queda. Doy más detalles por privado.
C y C++ fue mi base en programación, pero ni idea de comunicación con ellas... ¿Has usado chatgpt?, yo era bastante reticente a su uso, pero he de reconocer que cuando empiezas a hacerle preguntas e intentas razonar con el, puede ayudarte bastante cuando estás atascado. La típica consulta que buscas en stackoverflow, ya la hago directamente a chatgpt. No me fio al 100% del código que escupe porque se toma sus licencias o no te ha entendido bien, pero te sirve de base para tú propósito. Estoy haciendo una migración de un servidor sql server y me ha ahorrado mucho tiempo, aunque con un problema que nos hemos topado, no me ha ayudado demasiado, entra en bucle de explicaciones y te puede desesperar....
aprobé C++ por los pelos y no recuerdo nada jajaja eso se lleva aún? o solo los 'viejunos' sabemos qué es? de redes igual sí me apaño más
C++ y C sigue siendo la base de todo lo que sustenta la informática a "alto nivel"... Y añado, que van sacando nuevas versiones con mejoras cada cierto tiempo. Creo que van por C++ 20. Me he ayudado mucho de chatgpt y grok, que para algunas cosas me iba mejor. Pero ahora estoy en un punto que alucina porqué no dispone de la información exacta.
Mi problema radica ahora mismo que cuando conecto a un servidor ed2k via TCP y me acepta el login, para obtener el nombre del servidor, descripción, número máximo de usuarios, etc. Lo hace con una petición via UDP, y el protocolo esta ofuscado. Hasta ahora con wireshark interceptando paquetes había conseguido copiar el protocolo (sin ofuscación), pero con la ofuscación se complica la cosa. Y el código fuente de emule, después de 20 años es difícil entender qué hace. Hasta ahora he deducido que usa la ip pública del cliente como un valor para la ofuscación, pero de lo que me dice chatgpt no me cuadra. Miraré otras implementaciones a ver si está expresado de una forma más sencilla y clara.
Es que me atrevería a decir que todos los lenguajes que aparecen por encima de C++, tienen su intérprete hecho con C o C++.
Efectivamente, C++ es el lenguaje empleado para la implementación de muchos intérpretes y compiladores de otros lenguajes.