Entrar
¿Usuario nuevo? Regístrate
war_3d · War 3D
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes buscar mensajes antiguos en un grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Ideas para reescribir el server, by ASK   Lista de mensajes  
Responder | Reenviar Mensaje #444 de 894 |
Re: [war_3d] Ideas para reescribir el server, by ASK

Hay un pattern en c++ llamado Functor que os puede servir. En mi opinion usar punteros a funciones en c++ es un atraso, para eso esta la herencia virtual.
Un saludo

ZeruGiran (Eric Ruiz) wrote:
Conversacio: Algunas Ideas de ASK, comentadas entre K-ballo y Zerugiran



[22:28:10] <ZeruGiran> jaja XD que loko.
[22:28:14] <K-ballo> y porque?
[22:28:34] <ZeruGiran> Yo que se.. seguro tu mama te dejo caer cuando estaba chiquito.
[22:28:47] <ZeruGiran>
[22:28:51] <ZeruGiran> Te decia que.
[22:29:03] <K-ballo> ajajajajaaa
[22:29:12] <ZeruGiran> Quiere reescribir W3DServer
[22:29:15] <ZeruGiran> .cpp
[22:29:37] <ZeruGiran> pasa que intentó agregar un comando nuevo, y es un poco complicad y para facilitarlo...
[22:30:35] <ZeruGiran> quiere hacer algo asi como..
[22:31:02] <ZeruGiran> addComando ("Comando", ApuntadorAFuncion)
[22:31:27] <K-ballo> sep, un array o vector de callbacks ...
[22:31:31] <ZeruGiran> Donde ApuntadorAFucnion es la funcion que se encargara de implementar la accion del comando.
[22:31:47] <ZeruGiran> gueno pos eso estaria muy muy bien , no?
[22:32:12] <K-ballo> si, pero abría que generar una parametrización generalizada, al estilo windows, porque sino se complica muchisimo
[22:32:13] <ZeruGiran> tambien se puede hacer lo mismo para los Botones... de HUD
[22:32:33] <K-ballo> osea, todas las funciones deben tener los mismos parametros, y a traves de ellos mandarle los datos
[22:32:53] <ZeruGiran> addBoton ("ImagenDelBoton.tga", PosicionX, PosicionY, ApuntadorAFuncion)
[22:33:13] <K-ballo> tambien, seguro
[22:33:16] <ZeruGiran> amm  yep
[22:33:24] <ZeruGiran> pos eso.
[22:33:54] <ZeruGiran> suena bien. crees que sea bueno hacerlo o es demaciado esfuerzo ?
[22:34:10] <ZeruGiran> mucho esfuerzo y no vale la pena.
[22:34:20] <ZeruGiran> ?
[22:34:24] <K-ballo> nono, el esfuerzo es casi totalmente del usuario, lo unico q tenemos q definir es q parametros usaremos y listo, yo me ocupo
[22:34:35] <K-ballo> osea, no se si alguna vez vistes un WinProc
[22:34:43] <ZeruGiran> amm nop
[22:35:27] <K-ballo> bueno... los parametros son 
HWND hWnd, uint msg, int wParam, long lParam
[22:35:41] <K-ballo> entonces, los valores de wParam y lParam dependen del valor de msg
[22:35:46] <ZeruGiran>  muy al estilo Ventanucos
[22:35:58] <K-ballo> y si no alcanzan esos pa los valores, pos uno de ellos es un puntero a la funcion
[22:36:07] <K-ballo> ajap... pero es muy util en casos de vectores de callbacks
[22:36:13] <ZeruGiran> yep
[22:37:15] <K-ballo> bueno, toncs... generalmente para las funciones q tipo de datos se necesitan?
[22:37:41] <ZeruGiran> amm en el caso del Server
[22:38:01] <ZeruGiran> Es un string
[22:38:11] <ZeruGiran> la cadena que envian los clientes
[22:38:35] <K-ballo> joder... no me habia dado cuenta, que no TODOS los mensajes son stirngs?
[22:38:41] <ZeruGiran> o si quieres que se paresca un poco mas a como esta hecho ahora es un Vector de Strings
[22:39:48] <K-ballo> anda yo hago asi:
[22:40:09] <K-ballo> CALLBACK Funcionsita ( string parametros );
[22:40:28] <K-ballo> y cuando recibo esa funcion, le paso el resto de chars q queden en esa linea...
[22:40:31] <K-ballo> ... asi no funciona?
[22:41:08] <ZeruGiran> el resto ?
[22:41:47] <K-ballo> pos no se... no se como trabajamos con el server =_(
[22:41:47] <K-ballo> estoy totalmente descolgado
[22:42:09] <ZeruGiran> dale un vistazo no es nada complicado aun no tiene muchas lineas
[22:42:21] <ZeruGiran> Estoy pensando en que..
[22:42:36] <K-ballo> okey... si, mejor q me ponga a tono ahora porque sino despues ya no enganchare jamas
[22:42:39] <ZeruGiran> Podemos reescribir el codigo del Server.
[22:42:53] <ZeruGiran> Muy facilmente..
[22:43:11] <ZeruGiran> Porque es practicamente algo aparte del War3D
[22:43:22] <ZeruGiran> Ya te conte un poco como lo tengo hecho??
[22:43:44] <ZeruGiran> Cuando el War3D esta como server.
[22:43:53] <K-ballo> nopes
[22:44:01] <ZeruGiran> abre un puerto, el 6300
[22:44:22] <ZeruGiran> y se pone a escuchar, con el codigo que esta en W3Dserver.cpp
[22:44:49] <ZeruGiran> cuando el server esta activo el, War que arranco como server se conecta asi mismo..
[22:44:59] <ZeruGiran> Como si fuera un cliente comun y corriente.
[22:45:18] <ZeruGiran> luego el server espera a que otro cliente se conecte..
[22:45:36] <ZeruGiran> y cuando son dos clintes los que estan conectados comienza la partida.
[22:46:06] <ZeruGiran> El server es practicamente un programa independiente.
[22:46:11] <K-ballo> si, lo probé en mi maquina
[22:46:28] <ZeruGiran> Lo hice asi para poder tener Servidores dedicados..
[22:46:52] <ZeruGiran> El puro programita server, corriendo en una maquina. Sin necesidad de correr todo el War.
[22:47:00] <K-ballo> entiendo
[22:47:28] <ZeruGiran> Pos eso hace que podamos reescribir de nuevo el server.. Independiente del War.
[22:29:37] <ZeruGiran> pasa que intento agregar un comando nuevo
[22:29:58] <ZeruGiran> XDDDD
[22:30:12] <ZeruGiran> juass
[22:30:13] <K-ballo> O_o
[22:30:35] <ZeruGiran> y quiero acer algo asi como..
[22:31:02] <ZeruGiran> addComando ("Comando", ApuntadorAFuncion)
[22:31:27] <K-ballo> sep, un array o vector de callbacks ...
[22:31:31] <ZeruGiran> Donde ApuntadorAFucnion es la funcion que se encargara de implementar la accion del comando.
[22:31:47] <ZeruGiran> gueno pos eso estaria muy muy bien , no?
[22:32:12] <K-ballo> si, pero abría que generar una parametrización generalizada, al estilo windows, porque sino se complica muchisimo
[22:32:13] <ZeruGiran> tambien se puede hacer lo mismo para los Botones... de HUD
[22:32:33] <K-ballo> osea, todas las funciones deben tener los mismos parametros, y a traves de ellos mandarle los datos
[22:32:53] <ZeruGiran> addBoton ("ImagenDelBoton.tga", PosicionX, PosicionY, ApuntadorAFuncion)
[22:33:13] <K-ballo> tambien, seguro
[22:33:16] <ZeruGiran> amm  yep
[22:33:24] <ZeruGiran> pos eso.
[22:33:54] <ZeruGiran> suena bien. crees que sea bueno hacerlo o es demaciado esfuerzo ?
[22:34:10] <ZeruGiran> mucho esfuerzo y no vale la pena.
[22:34:20] <ZeruGiran> ?
[22:34:24] <K-ballo> nono, el esfuerzo es casi totalmente del usuario, lo unico q tenemos q definir es q parametros usaremos y listo, yo me ocupo
[22:34:35] <K-ballo> osea, no se si alguna vez vistes un WinProc
[22:34:43] <ZeruGiran> amm nop
[22:35:27] <K-ballo> bueno... los parametros son 
HWND hWnd, uint msg, int wParam, long lParam
[22:35:41] <K-ballo> entonces, los valores de wParam y lParam dependen del valor de msg
[22:35:46] <ZeruGiran>  muy al estilo Ventanucos
[22:35:58] <K-ballo> y si no alcanzan esos pa los valores, pos uno de ellos es un puntero a la funcion
[22:36:07] <K-ballo> ajap... pero es muy util en casos de vectores de callbacks
[22:36:13] <ZeruGiran> yep
[22:37:15] <K-ballo> bueno, toncs... generalmente para las funciones q tipo de datos se necesitan?
[22:37:41] <ZeruGiran> amm en el caso del Server
[22:38:01] <ZeruGiran> Es un string
[22:38:11] <ZeruGiran> la cadena que envian los clientes
[22:38:35] <K-ballo> joder... no me habia dado cuenta, que no TODOS los mensajes son stirngs?
[22:38:41] <ZeruGiran> o si quieres que se paresca un poco mas a como esta hecho ahora es un Vector de Strings
[22:39:48] <K-ballo> anda yo hago asi:
[22:40:09] <K-ballo> CALLBACK Funcionsita ( string parametros );
[22:40:28] <K-ballo> y cuando recibo esa funcion, le paso el resto de chars q queden en esa linea...
[22:40:31] <K-ballo> ... asi no funciona?
[22:41:08] <ZeruGiran> el resto ?
[22:41:47] <K-ballo> pos no se... no se como trabajamos con el server =_(
[22:41:47] <K-ballo> estoy totalmente descolgado
[22:42:09] <ZeruGiran> dale un vistazo no es nada complicado aun no tiene muchas lineas
[22:42:21] <ZeruGiran> Estoy pensando en que..
[22:42:36] <K-ballo> okey... si, mejor q me ponga a tono ahora porque sino despues ya no enganchare jamas
[22:42:39] <ZeruGiran> Podemos reescribir el codigo del Server.
[22:42:53] <ZeruGiran> Muy facilmente..
[22:43:11] <ZeruGiran> Porque es practicamente algo aparte del War3D
[22:43:22] <ZeruGiran> Ya te conte un poco como lo tengo hecho??
[22:43:44] <ZeruGiran> Cuando el War3D esta como server.
[22:43:53] <K-ballo> nopes
[22:44:01] <ZeruGiran> abre un puerto, el 6300
[22:44:22] <ZeruGiran> y se pone a escuchar, con el codigo que esta en W3Dserver.cpp
[22:44:49] <ZeruGiran> cuando el server esta activo el, War que arranco como server se conecta asi mismo..
[22:44:59] <ZeruGiran> Como si fuera un cliente comun y corriente.
[22:45:18] <ZeruGiran> luego el server espera a que otro cliente se conecte..
[22:45:36] <ZeruGiran> y cuando son dos clintes los que estan conectados comienza la partida.
[22:46:06] <ZeruGiran> El server es practicamente un programa independiente.
[22:46:11] <K-ballo> si, lo probé en mi maquina
[22:46:28] <ZeruGiran> Lo hice asi para poder tener Servidores dedicados..
[22:46:52] <ZeruGiran> El puro programita server, corriendo en una maquina. Sin necesidad de correr todo el War.
[22:47:00] <K-ballo> entiendo
[22:47:28] <ZeruGiran> Pos eso hace que podamos reescribir de nuevo el server.. Independiente del War.




Cometarios sobre esta conversacion please a war_3d@yahoogroups.com

Saludos :)

ZeruGiran (EriC Ruiz Osornio)

E-Mail: zerugiran@...
MSN: eric@...
Tel: 04455-30876127 (Telcel)
Web:
www.Solar-OpenSource.org




_____________________________________
http://war3d.sourceforge.net/

Para cancelar su suscripción war_3d-unsubscribe@yahoogroups.com
_____________________________________


La utilización de Yahoo! Grupos está sujeta a su aceptación de las Condiciones del servicio así como de la Política de privacidad.



Jue, 11 de Sep, 2003 5:43 am

qualopec@...
Enviar mensaje Enviar mensaje

Reenviar Mensaje #444 de 894 |
Desplegar mensajes Autor Ordenar por fecha

Conversacio: Algunas Ideas de ASK, comentadas entre K-ballo y Zerugiran ________________________________________________________________________ [22:28:10]...
ZeruGiran (Eric Ruiz)
zerugiran@...
Enviar mensaje
11 de Sep, 2003
5:29 am

Hay un pattern en c++ llamado Functor que os puede servir. En mi opinion usar punteros a funciones en c++ es un atraso, para eso esta la herencia virtual. Un...
javi
qualopec@...
Enviar mensaje
11 de Sep, 2003
5:43 am

... En Quake es muy parecido: void COM_Path_f (void) { ... } .. Cmd_AddCommand ("path", COM_Path_f); .. Ademas se pueden consultar los parametros mediante una...
tei
421621@...
Enviar mensaje
11 de Sep, 2003
7:26 am

*** esto es un post de stratos que zeru me comento que posteara aqui *** Mirando los fuentes he visto q realemnte necesitais lo q el otro dia se hablo en la...
Javier Santana
qualopec@...
Enviar mensaje
12 de Sep, 2003
6:20 pm
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda