Page 1 of 1

TCP y sockets.

Posted: Sat May 11, 2013 12:13 am
by erkosone
Hola, alguien con experiencia y ganas de montar un modulo para Gemix para manejar Sockets?

La idea no es realmente hacer un wrapper de la windows.h en lo que a sockets se refiere, si no mas bien una serie de funciones que faciliten su uso al estilo Div para conexiónes TCP, ya tenemos la lib de red por UDP que permite comunicar a los players, ahora falta una por TCP para todo lo relacionado con la gestión de cuentas y accesos remotos etc..

Alguien se anima? yo tengo mas o menos claro lo que hace falta pero no tengo demasiada experiencia en TCP por el tema de que nunca me gustó lo de que sean conexiones bloqueantes y por eso siempre he usado UDP en todos los lenguajes, pero reconozco que hay cosas que no se pueden hacer por UDP.

Re: TCP y sockets.

Posted: Sat May 11, 2013 8:32 am
by CicTec
Hola erkos,

Programar una lib de sockets no es muy dificil, mas dificil es hacer algo mas a alto nivel estilo DIV, que todavia creo sea inutil en una lib de sockets.

Si quieres programar una mediante el SDK, te recomiendo leer aqui:
http://beej.us/guide/bgnet/output/html/ ... bgnet.html

Explica bastante detalladamente como crear una lib cross-platform.

Re: TCP y sockets.

Posted: Sat May 11, 2013 1:35 pm
by erkosone
Gracias por el link ;)
Tengo un manual en español que también lo explica muy bien, he estado refrescandome la memoria leyendo y releyendo y creo que ya lo tengo claro, pero no quiero limitarme a lo que he hecho siempre, osea, una conexión sin concurrencia, voy a intentar implementar un servidor concurrente para varias conexiones con una simple cola de espera de unas cuantas conexiones y controladores de conexión mediante threads, pero no tengo muy claro el tema de punteros a función en C XD.. mas bien no tengo ni idea.. nunca lo he usado y tengo que aprender..

El concepto de conexión y envío/recepción es bastante sencillo, lo que tengo que ver es como se implementa algo concurrente por que nunca lo he hecho antes ;)

Sobre todo esto, lo que me gustaría sacar en claro al final es un pequeño api que comunique a varios programas en Gemix mediante mensajes.

Re: TCP y sockets.

Posted: Sat May 11, 2013 1:51 pm
by CicTec
De nada,

Bien, a ver si consigue hacer algun modulo.

Si necesitas ayuda sobre punteros C y cosas simulare pregunta.

Re: TCP y sockets.

Posted: Sun May 12, 2013 12:25 pm
by GINO
Erkos, estamos a mayo del 2013 y aun no has hecho un módulo en C/C++. Tienes que animarte y ponerte a ello que hacer un wrapper y con nuestra ayuda es más fácil de lo que parece. Al principio parece más complejo de lo que es.

Re: TCP y sockets.

Posted: Sun May 12, 2013 3:00 pm
by erkosone
Si tio, tengo que ponerme ya en serio por que ha pasado mas tiempo del que me pensaba desde que salió el sdk.
Haber si cuando salga esta nueva beta y el nuevo sdk me pongo y empiezo a montar cosas, por que realmente tengo ganas de empezar ya :)

Re: TCP y sockets.

Posted: Sun May 12, 2013 7:34 pm
by CicTec
erkosone wrote:, voy a intentar implementar un servidor concurrente para varias conexiones con una simple cola de espera de unas cuantas conexiones y controladores de conexión mediante threads
Cuidado con eso, si quieres que la lib vaya a ser cross-platform (especialmente para devices tipo mobiles) va a ser dificil, ya que hay hardware que solo soportan hasta 16 threads.
erkosone wrote: Sobre todo esto, lo que me gustaría sacar en claro al final es un pequeño api que comunique a varios programas en Gemix mediante mensajes.
Intenta que sean mensajes por datos y no por strings, sino seria lento.

Re: TCP y sockets.

Posted: Sun May 12, 2013 8:37 pm
by erkosone
Estaría muy bien abrir un debate sobre este tema y ver todos los pros y los contras sobre este tema, incluso hablar abiertamente sobre la forma en que una librería así sería de utilidad real para juegos.

Re: TCP y sockets.

Posted: Wed May 15, 2013 11:16 am
by CicTec
La utilidad la tiene, en programas/juegos que necesitan montar un sistema online "custom" y/o mas complejo, es imprescindible un sistema de sockets, que claramente tiene que ser a "bajo nivel".
Viceversa si se quiere un set "standard" para cosas no demasiado complejas, ya la Net tiene esto a mas alto nivel.