[Pruebas/investigacion] IPX con Div2(DosBox) net_join_game

Discusión en general sobre Gemix.

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby erkosone » Fri Apr 01, 2011 4:11 am

Cuelga el codigo del cliente y el del servidor para hecharles un vistazo, funcionar funciona te lo aseguro.

Lo que no puedes hacer es usar ese código para el cliente y para el servidor.

- Yo como consejo, se aviso que para empezar.. lo mas comodo y facil es hacer esto:

Primer programa: SERVIDOR.
- Crea la partida con NET_JOIN_GAME.
- Espera hasta que el numero de jugadores es 1. osea el cero y el uno que son los dos players.
- Cuando hay dos jugadores inicia el programa.

Segundo programa: CLIENTE.
- Inspecciona la red en busca de partidas activas con NET_GET_GAMES.
- Si encuentra una se une a ella automaticamente.
- La partida empieza.



Deves estructurar muy meticulosamente los pasos de los dos programas, y siempre que puedas, al estar empezando con este tema.. hazlos SIEMPRE por separado.
Y JAMAS metas una sentencia del tipo NET_ dentro de un bucle, probocaras un crash seguro.

Por cierto, si DosBox no te detecta los adaptadores de red reales, ni lo intentes.. si los dos programas están con la misma ip..
Tranqui que dijo CicTec que para la nueva BETA meteria las funciones de red..
Hacerlo asi con el DosBox es pegarle cornadas a un muro de hormigón..
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby CicTec » Fri Apr 01, 2011 8:20 am

El sistema de red de DIV2 tenia un bug, y algun usuario descubrio cual era y como hacer funcionar el sistema, ahora mismo no recuerdo cual era, pero habia una pagina por la red (si no ha sido eliminada) explicando esto.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby SimulatorOne » Fri Apr 01, 2011 12:17 pm

si la IP del servidor DosBox siempre es la misma, 127.0.0.1
y la del cliente es la real IP 192.169.1.X
si el rango de ips es diferente no se veran, o no podran entrar en la partida.
la culpa la tiene DosBox.

Por que yo lo e probado con 3 motodos diferentes: RED LAN Wifi, LAN por cable cruzado, y hamachi.
pero Dosbox siempre me da al Servidor esa IP fija.

El cliente puede conectarse con el servidor usando la IP del ordenador normal, no la IP nula.


Lo que si, el config de DosBox. le tengo puesto que el servidor este comando:
ipxnet startserver

Y el liente
ipxnet connect 192.168.1.x (IP del Servidor, pero la IP REAL)
Si usando la IP REAL LAND del servidor si que me deja conectarse, no hay que usar la 127.0.0.1

deberia probarlo con un viejo juego multijugador como DOOM 2 para comprobar si se ven.
si se ven, es que es asi de raro dosbox, que aun que de esa IP seria lo normal....
:/


Yo e programado el PRG para los 2.
no se, crei por un momento que el PRG deberia ser identicos los 2. tanto el cliente como el servidor.

de todas formas probare tu orden de PRG, hare 2 PRG.

Lo se, que no se debe meter un NET_x dentro de un bluque, me di cuenta, la actividad de la red se pone a 100 XDDD
lo tengo puesto con un IF(KEY(_Enter)) asi no abusa del comando.

e probado usando maquinas virtuales con Win98se, con conexion LAN y internet.
se ven entre ellos, en grupo de trabajo y tal.
pero en Div2, me da error -2 y no puede crear la partida.
pero es fallido U_U

No tengo idea de que BUG pueda tener Div2 con las funciones online....
pero almenos quiero intentarlo por mero ilusion :)
---------------------------------------------

mira e cambiado los PRG
espero que te guste mas:
es algo sencillote, pero me gustaria que tu lo modificaras mejor..

Este es el Server(el quien crea la partida)
Source Code (Gemix) [ Download ] [ Hide ]
  • PROGRAM ejemplo_net_join_game;
  • ///server!!!
  • GLOBAL
  •   STRUCT jugador[1]; // 8 jugadores como máximo (de 0 a 7).
  •     x,y;
  •   END
  •  
  •   id_red;
  • get_net;
  • string t;
  • BEGIN
  •   net.device=1;
  •   net.max_players=2; // Se indica aquí el número de registros.
  • t="Crear Parida? Enter SI";
  • write(0,0,0,0,t);
  • repeat
  • frame;
  • until(key(_enter));
  •  
  •   id_red=net_join_game("xxx",OFFSET jugador, sizeof(jugador));
  •  
  •   // El registro de este jugador es "jugador[id_red]"
  •  
  • loop
  •  
  •   if(id_red=>0);
  •   jugador[id_red].x=x; // Defino mis campos
  •   jugador[id_red].y=y;
  •   end
  •   if(key(_enter));get_net=net_get_games();end
  • t="id_red="+itoa(id_red)+" x:"+itoa(x)+","+itoa(y)+" num_ply="+itoa(net.num_players)+" server="+itoa(net.server)+" get_g:"+itoa(get_net);
  •   FRAME; // Envio / Recepción de datos
  •  
  •   // Ahora hay conectados "net.num_players", y sus datos están en
  •   // los demás registros de la estructura jugador[].
  •  
  •   // ...
  • end
  • END
  •  


Y este es el Cliente (Quien busca la partida y se une...)
Source Code (Gemix) [ Download ] [ Hide ]
  • PROGRAM ejemplo_net_join_game;
  • ///Client!!!
  • GLOBAL
  •   STRUCT jugador[1]; // 8 jugadores como máximo (de 0 a 7).
  •     x,y;
  •   END
  •  
  •   id_red;
  • get_net;
  • string t;
  • private
  • g;
  • BEGIN
  •   net.device=1;
  •   net.max_players=2; // Se indica aquí el número de registros.
  •  
  • write(0,0,0,0,t);
  • repeat
  • if(key(_space)and!g);g=1;get_net=net_get_games();end
  • if(g and!key(_space));g=0;end
  •  
  • t="Buscando partidas(space):"+itoa(get_net)+" Enter,unirse...";
  • frame;
  • until(key(_enter)and get_net=>1);
  •  
  •   id_red=net_join_game("xxx",OFFSET jugador, sizeof(jugador));
  •  
  •   // El registro de este jugador es "jugador[id_red]"
  • loop
  •  
  •   if(id_red=>0);
  •   jugador[id_red].x=x; // Defino mis campos
  •   jugador[id_red].y=y;
  •   end
  •  
  • t="id_red="+itoa(id_red)+" x:"+itoa(x)+","+itoa(y)+" num_ply="+itoa(net.num_players)+" server="+itoa(net.server)+" get_g:"+itoa(get_net);
  •   FRAME; // Envio / Recepción de datos
  •  
  •   // Ahora hay conectados "net.num_players", y sus datos están en
  •   // los demás registros de la estructura jugador[].
  •  
  •   // ...
  • end
  • END
  •  
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby CicTec » Fri Apr 01, 2011 12:53 pm

Yo no recuerdo cual era el bug exctamente, se que habia problemas en establecher o leer algo por un bug oculto y se solucionaba haciendo una operacion antes.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby SimulatorOne » Fri Apr 01, 2011 1:23 pm

ok

puedo confirmar de que el juego de DOOM2 usando con DosBOX funciona correctamente multijugador por IPX LAN

Usando conexion LAN RED Cable cruzado de PC a PC (portatil a portatil) de un WinXP a WinVista.

funciona muy bien el juego modo multijugador.

Me recuerda puramente al modo8 de Div2 el DOOM2 XDDD

Quizas hay algo en el PRG de Div2, que me falla

Si funciona DOOM2 por IPX con DosBOX, por que no puede funcionar Div2?
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby SimulatorOne » Fri Apr 01, 2011 2:01 pm

probando con los PRG nuevos....
pero... :(
ya no me dice net_get_games(); ==1 , siempre me da 0
eso tiene mala pinta.

crear la partida me la crea, pero como servidor siempre.
El cliente esta vez no encuentra la partida del servidor creado.
y me da 0 el net_get_games();
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby SimulatorOne » Fri Apr 01, 2011 2:19 pm

Buscando....

encontre(creo) con la clave de las funciones NEt de div2.

http://www.fortunecity.es/virtual/webad ... index.html
Al fin las funciones de red.

Sorprendente noticia que nos llega de la mano de Hugo Rozas, al parecer y despues de tanto tiempo las dichosas funciones de red de DIV2 han funcionado!. Este DIVero ha realizado varias pruebas y el resultado ha sido totalmente satisfactorio, para no volver a la vieja rutina nos hemos cerciorado de que esto sea verdad y asi ha sido. Varios DIVeros disfrutan ya de sus funciones en red. Aqui os reproduzco el embrollo por el que no funcionaban, de la mano de Hugo.

"El problema parece ser que el ejemplo que dan los help, estan erroneos :

id_red=net_join_game("xxx",OFFSET jugador, sizeof(jugador));

En el tercer parametro, le envias el tamaño de la estructura MULTIPLICADO x el numero de registros del array, cuando
lo unico que debes enviar es lo primero (tamaño de la estructura). En el ejemplo que atacho, esto lo soluciono creando una estructura sin uso pero igual a jugador; De esa forma la funcion sizeof me da su tamaño correcto :

STRUCT jugador[7] // 8 jugadores como maximo (de 0 a 7).
x,y,GRAPH;
END

STRUCT tipo_jugador // Se crea una estructura sin uso para que la
x,y,GRAPH; // funcion SIZEOF averigue su tamaño.
END

Luego para unirse o crear un juego, lo haces de la siguiente manera :

id_red=net_join_game("xxx",OFFSET jugador, sizeof(tipo_jugador));"

Podeis descargar el fichero en el area de Downloads.


Eso dice, que opinais?

buscando la Descarga de ese file que dicen... pero yo no veo nada, alguien lo a encontrado en esa pag??
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby erkosone » Fri Apr 01, 2011 2:34 pm

Pues si te digo la verdad, se que tenian algun problema, pero hace tantisimo tiempo que ya no recordaba cual era.

Si puede ser ese el fallo, nose, prueba con ese metodo, pero vaya.. que hacerlo via dosbox..
Haber si con suerte para dentro de relativamente poco tiempo tenemos algo en Gemix.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby CicTec » Fri Apr 01, 2011 4:51 pm

simulatorone wrote:Buscando....

encontre(creo) con la clave de las funciones NEt de div2.

http://www.fortunecity.es/virtual/webad ... index.html
Al fin las funciones de red.

Sorprendente noticia que nos llega de la mano de Hugo Rozas, al parecer y despues de tanto tiempo las dichosas funciones de red de DIV2 han funcionado!. Este DIVero ha realizado varias pruebas y el resultado ha sido totalmente satisfactorio, para no volver a la vieja rutina nos hemos cerciorado de que esto sea verdad y asi ha sido. Varios DIVeros disfrutan ya de sus funciones en red. Aqui os reproduzco el embrollo por el que no funcionaban, de la mano de Hugo.

"El problema parece ser que el ejemplo que dan los help, estan erroneos :

id_red=net_join_game("xxx",OFFSET jugador, sizeof(jugador));

En el tercer parametro, le envias el tamaño de la estructura MULTIPLICADO x el numero de registros del array, cuando
lo unico que debes enviar es lo primero (tamaño de la estructura). En el ejemplo que atacho, esto lo soluciono creando una estructura sin uso pero igual a jugador; De esa forma la funcion sizeof me da su tamaño correcto :

STRUCT jugador[7] // 8 jugadores como maximo (de 0 a 7).
x,y,GRAPH;
END

STRUCT tipo_jugador // Se crea una estructura sin uso para que la
x,y,GRAPH; // funcion SIZEOF averigue su tamaño.
END

Luego para unirse o crear un juego, lo haces de la siguiente manera :

id_red=net_join_game("xxx",OFFSET jugador, sizeof(tipo_jugador));"

Podeis descargar el fichero en el area de Downloads.


Eso dice, que opinais?

buscando la Descarga de ese file que dicen... pero yo no veo nada, alguien lo a encontrado en esa pag??

Si, era esto lo que decia yo.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: [Pruebas/investigacion] IPX con Div2(DosBox) net_join_ga

Postby SimulatorOne » Sat Apr 02, 2011 5:39 pm

creo y pienso, ademas de probarlo muchas veces, que. (a resultado fallido la conexion entre servidor y cliente)
1-Si crean la partida, como server.
2-El cliente que busca la partida, no encuentra la partida del server.

usando DosBox no es posible, por lo menos con Div2.
el juego de DOOM2 si que funciona.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

PreviousNext

Return to General

Who is online

Users browsing this forum: No registered users and 3 guests