Bennu Game Development

Foros en Español => Extensiones => Topic started by: SplinterGU on June 15, 2009, 01:17:14 AM

Title: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 15, 2009, 01:17:14 AM
Subida al sitio de descarga...

Solo se compilo la version linux, para windows, ya saben, configure --with-bennu-prefix=... && make

Saludos.

http://betatester.bennugd.org/snapshot/contrib/
Title: Re: libnet 1.0 (SDL_net)
Post by: Sandman on June 15, 2009, 01:40:29 AM
these functions lack a string_discard() call:
static int net_resolvehost(INSTANCE * my, int * params)
static int net_udp_bind(INSTANCE *my, int *params)


static int net_resolvehost(INSTANCE * my, int * params)
{
int r;
char *a = (char*)string_get(params[1]);
// if(!a)
// return -1;
if(*a=='0')
a=NULL;
r = SDLNet_ResolveHost(&conexiones[params[0]].address, a, (unsigned short)params[2]);
string_discard(params[1]);
return r;
}

static int net_udp_bind(INSTANCE *my, int *params)
{
IPaddress dir;
char *a = (char*)string_get(params[2]);
// if(!a)
// return -1;
if(*a=='0')
a=NULL;
SDLNet_ResolveHost(&dir, a, (unsigned short)params[3]);
string_discard(params[2]);
return SDLNet_UDP_Bind(UDPsockets[params[0]], params[1], &dir);
}


I commented the !a checks, because under correct circumstances it is implied that a is not NULL. You could add them as asserts for a debug target.
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 15, 2009, 02:04:34 AM
thanks sandman... I'll add this fix... thanks very much...

;)
Title: Re: libnet 1.0 (SDL_net)
Post by: panreyes on June 15, 2009, 05:51:44 AM
Se agradece mucho :)

Esto era lo único que me obligaba a usar Fénix de vez en cuando a día de hoy xD
Title: Re: libnet 1.0 (SDL_net)
Post by: Danielo515 on June 15, 2009, 06:34:52 AM
Explicación para descolgados como yo please?
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 15, 2009, 02:49:58 PM
bueno, sugiero no usar esta dll, ya que tiene muchos bugs.
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 15, 2009, 04:15:45 PM
supongo que ya esta corregida.

Se cambio:

maximas conexiones a 128

ahora la funcion NET_TCP_ACCEPT tiene 2 parametros, el primero es el puerto de escucha, y el 2do es el slot donde se creara la nueva conexion... esto es asi porque actualmente, se reemplaza la conexion de escucha por la nueva, pero no se borra la de escucha, con lo que deja un puerto abierto que no puede ser eliminado ni usado, pero las conexiones siguen entrando.

Debo decir que sugiero usar la libsocket.
Title: Re: libnet 1.0 (SDL_net)
Post by: syous on June 15, 2009, 05:29:07 PM
Quote from: SplinterGU on June 15, 2009, 04:15:45 PM
supongo que ya esta corregida.

Se cambio:

maximas conexiones a 128


se puede quitar limitaciones  mmmm 128 para mi caso insuficiente quiero procesar unos miles por cada servidor habilitado según demanda una demanda de unos 5000 por maquina si se puede
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 15, 2009, 05:33:33 PM
no, vos no uses esta dll... no es adecuada para lo que queres...

ademas, para 5000 conexiones, no te va a servir ninguna, vas a necesitar una dlls compilada especial.
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 16, 2009, 03:02:43 PM
actualizado, version windows y linux.
Title: Re: libnet 1.0 (SDL_net)
Post by: syous on June 16, 2009, 03:29:19 PM
Quote from: SplinterGU on June 15, 2009, 05:33:33 PM
no, vos no uses esta dll... no es adecuada para lo que queres...

ademas, para 5000 conexiones, no te va a servir ninguna, vas a necesitar una dlls compilada especial.

orintame con tu sabiduria ;D ;D ;D ??? ??? ???
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 16, 2009, 03:34:34 PM
la cosa es que la socket del operativo por default esta limitada, hay que compilar las librerias definiendo algo previo a incluir el .h, y esto depende de la cantidad de sockets que necesites...

cuando realmente lo necesites, avisa y lo hacemos, pero olvidate de esta dll, requeriria compilar la SDL_net...
Title: Re: libnet 1.0 (SDL_net)
Post by: syous on June 16, 2009, 03:38:54 PM
de momento fsock vale para mis pruebas y test y segun  voy cerrando cabos y supongo que la prueba seria en la beta publica donde mi intencion es un servidor a pleno rendimiento y a reventar de conexiones etc y descubrir limites y bugs
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 16, 2009, 03:40:03 PM
claro, primero saca la version y cuando se necesite hablamos...
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 16, 2009, 11:40:05 PM
cambio la ubicacion


http://betatester.bennugd.org/snapshot/contrib/
Title: Re: libnet 1.0 (SDL_net)
Post by: osk on June 19, 2009, 04:27:11 PM
¿Por qué tener dos librerías de red? (fsock y net). Quiero decir, ¿qué tiene una que no tenga la otra?
Graacias
Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on June 19, 2009, 04:27:47 PM
son diferentes, una usa SDL otra directo socket.
Title: Re: libnet 1.0 (SDL_net)
Post by: Windgate on October 04, 2009, 10:52:49 AM
Este post estaba un poco enterrado, pero tarde o temprano tenía que empezar con los sockets:

He trabajado con los sockets de Linux, no gran cosa, pero suficiente para tener unos conceptos básicos de cómo funcionan y poder empezar.

Supongo que con "directo socket" te refieres a lo que digo, entonces, ¿SDL tiene alguna utilidad o mejora interesante respecto del socket tradicional?

Para lo que quiero hacer, un funcionamiento de sockets en plan Linux, comportándose como ficheros remotos y lecturas del socket bloqueantes para sincronizar, ya me serviría.

Cualquier consejo de cualquier experimentado me servirá antes de meterme en semejante aventurita ;)

PD: Descargada la fsock y mirando los samples, siempre se agradecen xD

Title: Re: libnet 1.0 (SDL_net)
Post by: SplinterGU on October 04, 2009, 03:12:13 PM
directo me refiero que usa el api de socket sin overhead adicional
Title: Re: libnet 1.0 (SDL_net)
Post by: Windgate on October 04, 2009, 04:37:58 PM
¿Con overhead quieres decir que no tiene otras funciones "por encima" de las funciones básicas? Por ahora he realizado unas cuantas pruebas con el fsockets y me gusta como funciona.