Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   programar un juego en red (https://www.clubdelphi.com/foros/showthread.php?t=26543)

gario 26-10-2005 13:06:51

programar un juego en red
 
Hola a todos\as....

Vereis en mi afan de autosuperacion jejeje, me gustaria aprender a comunicar equipos a traves de internet. Me gustaria desarrollar un pequeño juego de cartas al que jugamos mis amigos y yo como ejemplo.

La idea es sencilla, creo, un ordenador que hace de servidor del juego y el resto de equipos que se conecten a el para jugar. Al final todo se reduciria a que el servidor les envie las cartas que les tocan y la informacion de que les toca jugar y reciba la carta que juegan.


Paralelamente podria tener un chat, pero eso quiza mejor dejarlo para mas adelante.

He estado navegando y buscando información y estoy casi convencido a usar sockets. Pero he leido algo de Corba y midas y la verdad que no he entendido muy bien las ventajas que ofrecen (si es que las tienen).

¿Alguien me podria orientar un poco?

Creo que tengo claro como conectar dos equipos, pero aqui lo interesante es conectar 3 o 4 usuarios a la vez.

Un saludo y gracias.

mamcx 26-10-2005 15:58:22

Este articulo te da una idea del espectro de soluciones para aplicaciones distribuidas.

http://www.solucionesvulcano.com/blo...ciendo-la.html

Personalmente, y en base al entendimiento que tengo, los "frameworks" tal vez no sean la mejor opcion. De los que mencione en el articulo, quizas MsgConnect, Indy o RemObjects....

Debido a que parece que tu aplicacion es mas tipo "messenger" y que no tiene un servidor central, en ese caso Indy con UDP (?) o MsgConnect...

(En ambos se usan sockets, y si, son la mejor opcion en cuanto a desempeño)

jachguate 26-10-2005 18:15:23

En tu caso, yo utilizaría directamente Sockets (con INDY).

Midas (DataSnap) está orientado a aplicaciones con bases de datos y creo que tratar de usarlo en este caso solo complicaría mas las cosas.

Hasta luego.

;)

gario 27-10-2005 12:31:09

Hola!
Lo primero agradecer las respuestas.

Creo que me decantare por las INDY. Si he entendido algo de lo que lei estos dias, los componenetes indy son clases desarrolladas a partir de Sockets, con lo cual usar los sockets "a pelo" es simplemente ganas de complicarse la vida (en mi caso).

Asi que ayer me instale el delphi 7 con las indy9.

No lo mire mucho la verdad. Pero aun asi quisiera exponeros mi planteamiento.

Mi idea inicial es realizar una aplicación que se pueda arrancar en modo servidor o en modo cliente. Si el usuario arranca en modo servidor usaria un componente INDy tcp/ip de servidor (no tengo a mano el nombre de la clase) para aceptar la conexion de los clientes.
Si arranco en modo cliente introduciria la ip del servidor y me conectaria con el objeto indy tcp/ip de cliente.

En principio, dejando aparcado el chat, la idea es que el servidor reciva por el indy una cadena de texto con la jugada, la procese y retorne a todos los clientes el resultado.

El tema del chat, que haria mas adelante habia pensado plantearlo con otro objeto Indy, el de IRC.

Bueno espero vuestros comentarios.
Es la primera vez que programo comunicaciones y no se si tengo el planteamiento correcto.

Gracias.

jachguate 27-10-2005 17:46:23

En general está bien. Si no te has bajado los demos de las INDY, es recomendable que lo hagas y te des una vuelta por el chat que trae... te aclarará muchas cosas: cómo abrir un servidor, como conectarte a él, como enviar una cadena a todos los clientes, etc.

Saludos.

;)

Crandel 27-10-2005 20:37:00

Cita:

Empezado por gario
Creo que me decantare por las INDY. Si he entendido algo de lo que lei estos dias, los componenetes indy son clases desarrolladas a partir de Sockets, con lo cual usar los sockets "a pelo" es simplemente ganas de complicarse la vida (en mi caso).

Los componentes indy son una muy buena elección, pero tambien lo puedes realizar con los componentes socket que trae delphi sin ningun problema, dado que solo vas a usar la clase base de socket.

Cita:

Empezado por gario
Asi que ayer me instale el delphi 7 con las indy9.

Instalá tambien los ejemplos, dado que traen mucha información contenida en ellos.

Cita:

Empezado por gario
Mi idea inicial es realizar una aplicación que se pueda arrancar en modo servidor o en modo cliente.

Mi recomendación es realizar una aplicación Cliente y otra servidor, por separado. Te a ahorrar problemas en un futuro.

Cita:

Empezado por gario
En principio, dejando aparcado el chat, la idea es que el servidor reciva por el indy una cadena de texto con la jugada, la procese y retorne a todos los clientes el resultado.

Te recomendaria, que primero hagas la aplicación de chat, dado que es mucho mas sencillo, y hay más ejemplos de su uso. Luego creas el juego y al final, le integras el chat.

Cita:

Empezado por gario
El tema del chat, que haria mas adelante habia pensado plantearlo con otro objeto Indy, el de IRC.

Para este tipo de programas no te recomendaria usar IRC, salvo que tu perspectiva sea mucha mayor en el cual pienses en un unico servidor que pueda correr simultaneamente muchos juegos y por ende muchos canales de conversación independientes.

Cita:

Empezado por gario
Gracias.

De nada.

__hector 27-10-2005 23:25:02

Bueno, en realidad eso dependera...

Eso si el juego que quieres programar, lo vas a desarrollar en red mayor o en red menor. A mi me salen mejor cuando los hago en sol o fa, aunque son un poco mas complicados. :)


[No me culpen, creo que es el primer chiste malo, digo, realmente malo, que publico en estos foros]

dec 28-10-2005 01:51:07

Hola,


Cita:

Empezado por hector
No me culpen, creo que es el primer chiste malo, digo, realmente malo, que publico en estos foros

¿Malo? ¡Noooo! :p


La franja horaria es GMT +2. Ahora son las 09:12:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi