Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Programar Un Chat Mediante Internet

Iniciado por josette, 24 de Febrero de 2006, 06:50:42 PM

« anterior - próximo »

josette

     Mi intencion es hacer una aplicacion en donde se puedan conectar varias personas a en redes distintas, usando internet como red, y puedan hablar entre ellas pero ademas de enviar texto enviar informacion de otro tipo. En definitiva un mmorgf sencillo con un chat incluido en donde yo me comunico con las personas que me encuentro por el camino.

   Cuales son los elementos hw para dar soporte a la aplicacion y que herramientas sw (librerias puedo usar).

Grugnorr

 Si eso es un MMORPG.... el MsnMessenger qué será....  (twist)  
hat the hells!

josette

 Perdon por mi ignorancia en el tema pero criticar tb lo se hacer yo.

ajmendoza

 ¿Sabes algún lenguaje de programacion? Eso sería lo primero, y si no sabes mucho pues googlear y googlear sobre este tema del que preguntas, sockets y cosas así (que si no sabes programar te perderás xD).

Saludeten ;)

Warchief

Cita de: "josette"Mi intencion es hacer una aplicacion en donde se puedan conectar varias personas a en redes distintas, usando internet como red
Un rpg incluye evolución de nivel, una historia, etc. Una aplicación de ese estilo sencilla podría hacerse con flash (y por tanto con cualquier herramienta que te permita crear contenidos flash), con java (pudiendo jmf, que es una librería para audio, video, etc a través de internet), empezar con sockets TCP o UDP, que son protocolos que van sobre IP y que se son los que se usan en internet, y un sinfín de otras opciones.
Incluso se pueden combinar varias de las técnicas.

En cuanto al HW, depende de las expectativas, pero lo normal es pensar en un servidor central (con copias de seguridad/soporte: redundancia) o un sistema simple de caché para conectar por p2p a los usuarios, etc, teniendo en cuenta el ancho de banda que se consumirá, ....

Hace falta más información para orientarte.

Ruben

Cita de: "Grugnorr"Si eso es un MMORPG.... el MsnMessenger qué será....  (twist)
Pues teoricamente con la red del Messenger se pueden hacer cosas muy chulas.

Hace tiempo estuve investigando y habia apis libres por ahi.... No se como andara el tema ahora.

Esto me recuerda a la frase: "Cuidado con lo que deseas, porque se puede cumplir" :P


josette

     Soy Ingeniero Informatico y me considero buen programador. Mi idea era en cuanto a HW usar como se ha dicho un servidor central que reciba los mensajes del emisor y los envie al destino, ademas un servidor con linux sería lo suyo puesto que es mas seguro.

  En cuanto a la base de la aplicacion lo suyo sería mediante web para que sea multiplataforma. Que sería mejor, con java o flash? Los graphicos a representar son datos de una escena 3d, y de momento no es un rpg. Entonces pienso que sería bueno que los datos de la escena esten almacenados en el cliente pero entonces todos los usuarios conectados tendrían que tener la escena 3d  cargada en su PC. Esto ha de ser así, no?

  Mi idea era la de que los usuarios conectados pudieran enviarse mensajes entre ellos. Mi idea era la de usar WinSock aunque he leido en este foro que hay otra libreria orientada a objetos que es multiplataforma y esa sería una primera opcion. Si se puede adaptar bien la api esa de messenger pues mejor. Creo que tb hay una api del yahoo messenger.

  Una duda que tengo es si sería mejor que la aplicacion para que fuera mas rapida fuera una aplicacion no web y programarla con C++ Builder o C++ a pelo y opengl.

  No se si se me entiende cual es mi idea.

Warchief

 
Citarademas un servidor con linux sería lo suyo puesto que es mas seguro.
Al mí, el sistema operativo del servidor es de las cosas que ne me preocuparía ahora, aunque si no quieres pagar licencia lo normal es coger uno gratuito.

CitarEn cuanto a la base de la aplicacion lo suyo sería mediante web para que sea multiplataforma.
Se puede hacer multiplataforma sin web.

CitarQue sería mejor, con java o flash?
Pues ni idea de cómo es flash para hacer una cosa así, porque lo que yo he tocado no se acerca ni al 0.1% de lo que supone esto. Java me parece una idea interasante, aunque los applets no suelen gustar mucho y se usan sólo para demos educativas (IMO).

CitarLos graphicos a representar son datos de una escena 3d, y de momento no es un rpg. Entonces pienso que sería bueno que los datos de la escena esten almacenados en el cliente pero entonces todos los usuarios conectados tendrían que tener la escena 3d cargada en su PC. Esto ha de ser así, no?
Hasta donde yo elucubro, los gráficos los tiene el cliente, pero la información del mundo la tiene el servidor y se la envía a cada cliente. Supongo que eso es cuestión de diseño.

CitarMi idea era la de que los usuarios conectados pudieran enviarse mensajes entre ellos. Mi idea era la de usar WinSock aunque he leido en este foro que hay otra libreria orientada a objetos que es multiplataforma y esa sería una primera opcion.
Java es lenguaje multiplataforma. Librerías como raknet y hawk también (al menos win y linux, mac no sé).

CitarSi se puede adaptar bien la api esa de messenger pues mejor. Creo que tb hay una api del yahoo messenger.
Me suena a chino.

CitarUna duda que tengo es si sería mejor que la aplicacion para que fuera mas rapida fuera una aplicacion no web y programarla con C++ Builder o C++ a pelo y opengl.
Si la cosa es sencilla y los gráficos no son expectaculares, el problema no va a ser la velocidad de los clientes, sino el ancho de banda necesario para darles soporte. Otra cuestión es cuanto vayas a evolucionarlo.

Vicente

 Hola,

tampoco me aclaro exactamente de que idea tienes en la cabeza de juego (estaría bien que la intentes explicar mejor). Leo que va a ser una página web pero quieres representar gráficos 3d? Es web pero en tiempo real? Lo mismo te he entendido mal, pero eso no casa ni con cola en general...

Como te comenta Warchief, el que sea un applet, pues malo malo. Si fuera un juego web normal (como OGame, Utopia, etc etc), yo tiraría a JSP, PHP, ASP, ASP.NET, algo de programación de web (ya dentro de esas eliges la que más te guste, más conozcas, más cómodo te sientas,...). El servidor yo no me preocuparía ahora para nada, básicamente montaría el servidor en la misma máquina y sistema donde desarrolles (para ahorrar trabajo más que nada). Es decir, si desarrollas en linux, un servidor en linux, si es en win, en win, etc etc. Para no liar las cosas vamos.

Si lo que quieres es un juego 3d real, yo me iría del entorno web a una aplicación cliente normal. En java podrías hacerla en Swing/SWT, Java3D y usar para la comunicación o RMI o sockets (NIO). En C/C++ ni idea, supongo que debe haber librerías de red pa aburrir.

Lo de las APIs de chateo en fin, creo que mejor que te montaras una propia que liarte a usar las APIs del Messenger o de Yahoo (que supongo que están más orientadas a crear clientes para funcionar bajo sus protocolos...). De todas formas si quieres un API de ese estilo lo mismo te vale Jabber (que es abierta y libre creo. Es la que usa GTalk).

Un saludo!

Vicente

jazcks

 tb sirve shockwave, mejor que flash creo, ya hay bastantes cosas en 3d y multijugador

Parzival

 Lo primero que debes hacer es aclararte en cuanto a qué tipo de aplicación quieres. Una aplicación web, o una aplicación cliente-servidor.

Si lo quieres hacer como objeto embebido de una web (flash, shockwave) no vas a necesitar en ningún momento ninguna librería de redes, ya que ya te estás comunicando con el servidor a través del objeto. Lo único que tienes que te queda es hacer que el objeto "hable" con el servidor (MySQL+PHP por ejemplo) para guardar ciertos datos sobre tí, y que luego el servidor los devuelva al resto de usuarios. Es una manera muy cómoda y fácil, pero no te dará buenos resultados si quieres tener a 1000 personas conectadas a la vez.

Si lo que quieres es una aplicación cliente (lo único malo que tiene frente a los objetos embebidos de web es que hay que descargarselo previamente) también tendrás que crearte una aplicación servidor. La aplicación cliente la desarrollaría en C++/OpenGL (aunque puedes usar un motor 3D como Ogre3D, pero siempre que usen OpenGL) y usando una de las librerias de red gratuitas que pululan por internet (SDL_NET, OpenTNL, etc), todo esto para que fuera multiplataforma. Además tendrás que crear una aplicación que esté corriendo continuamente en el servidor y que será la que se comunique con TODOS los clientes. Esta aplicación se encarga de "re-encauzar" los datos enviados por cada usuario hacia el resto de usuarios.

De cualquiera de las dos maneras es muy tedioso, así que ánimo y suerte.
Eduardo Veiga

zupervaca

 Lo mejor es coger una katana, bajas a la calle y ale a subir niveles :P

JMAA

http://flavors.me/JMAA - Página Personal






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.