Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: EDBC en 4 Febrero 2024, 00:55 am



Título: Programas Asíncronos en C++ Como si fuera javascript
Publicado por: EDBC en 4 Febrero 2024, 00:55 am
Banda, Como estan?, recientemente me cambie de nodeJS a C++, y me dije. - bueno como primer proyecto, voy a hacer un servidor HTTP -. Y cuando lo hice, me dí cuenta de lo realmente difícil que era C++, así que decidí crear un framework para C++ el cual me permitiera no solo crear servidores, sino también aplicaciones concurrentes al más puro estilo de NodeJS o javascript.

para crear este framework me inspire mucho en NodeJS.

Caracteristicas:

- Es Compatible con Windows | Linux | Mac | FreeBSD | Arduino
- Esta diseñado para funcionar en C++11 | C++14 | C++17
- Soporte a Poll | Epoll | Kqueue | WSAPoll

Que puedo crear con Nodepp:

- servidores/clientes HTTPS | HTTP | TCP | TLS | UDP | Websocket
- Balance de Carga para nuestros servidores web
- Tareas Asíncronas
- Corrutinas
- Generadores
- Flujo de Datos
- Workers con Pthread
- Criptografía con Openssl
- Compresión de Datos con Zlib
- Eventos Asíncronos (Funciona igual que en javascript)
- Promesas Asíncronas (Funciona igual que en javascript)
- Temporizadores Asíncronos (Funciona igual que en javascript)

y mucho más. Aquí un ejemplo de HTTP

cliente:https://github.com/NodeppOficial/nodepp/blob/main/examples/HTTPRequest.cpp (https://github.com/NodeppOficial/nodepp/blob/main/examples/HTTPRequest.cpp)

servidor: https://github.com/NodeppOficial/nodepp/blob/main/examples/HTTPServer.cpp (https://github.com/NodeppOficial/nodepp/blob/main/examples/HTTPServer.cpp)

Aquí un ejemplo de Ws

cliente: https://github.com/NodeppOficial/nodepp/blob/main/examples/WSClient.cpp (https://github.com/NodeppOficial/nodepp/blob/main/examples/WSClient.cpp)

server: https://github.com/NodeppOficial/nodepp/blob/main/examples/WSServer.cpp (https://github.com/NodeppOficial/nodepp/blob/main/examples/WSServer.cpp)

Aquí el repositorio:

Windows | Linux | Mac | FreeBSD: https://github.com/NodeppOficial/nodepp (https://github.com/NodeppOficial/nodepp)

Arduino: https://github.com/NodeppOficial/nodepp-arduino (https://github.com/NodeppOficial/nodepp-arduino)

Si te interesa cómo creé el servidor, aqui hice un artículo en medium:
https://medium.com/@becerracenmanueld/how-to-create-an-asynchronous-web-server-in-c-node-0e167334c1c1 (https://medium.com/@becerracenmanueld/how-to-create-an-asynchronous-web-server-in-c-node-0e167334c1c1)

Si te interesa saber como logré crear corrutinas en C++11, aqui te dejo otro articulo que hice en medium hablando sobre el tema:https://medium.com/@becerracenmanueld/asyncio-in-arduino-introduction-to-asynchronous-processing-part-1-714251a1f05f (https://medium.com/@becerracenmanueld/asyncio-in-arduino-introduction-to-asynchronous-processing-part-1-714251a1f05f)


Título: Re: Programas Asíncronos en C++ Como si fuera javascript
Publicado por: TickTack en 17 Febrero 2024, 17:16 pm
¡Hola! Has emprendido un proyecto muy interesante. Genial cómo estás aprovechando tu experiencia previa en NodeJS y aplicándola en un nuevo entorno. Los enlaces y recursos que proporcionaste son muy útiles, ¡gracias por compartirlos!