 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Dom 04 Abr, 2004 10:12 pm Asunto: Duda con servidor de chat |
|
|
Saludos a todos los del Foro
Mi duda es la siguiente...
Sucede que estoy haciendo una aplicacion que se supone funcionara al estilo MSN Messenger, para esto, estoy haciendo una aplicacion servidor, que controlara el acceso a los usuarios. El concepto de mi servidor es el siguiente: cada vez que un usuario se conecta, el servidor le crea un Socket (Cliente, y server) y le asigna un puerto por el cual se va a comunicar ese usuario. Esto ya lo tengo, y aunque no he hecho muchas pruebas, creo que si me va a funcionar...
Pero mi duda es esta.... Funcionara tambien con las pc's que estan en Red conectadas bajo un routeador o un Proxy, etc... O habria que configurar esas LAN's para que tengas acceso por los puertos que va a manejar mi aplicacion? (lo cual estara dificil puesto que se van a manejar tantos puertos diferentes como usuarios haya copnectados).
Alguien sabe como funcionan las aplicaciones como MSN Messenger por ejemplo entre otras? las cuales no hay que configurar nada en la Red, simplemente se instalan y adelante...
Ojala alguien me pueda dar una idea de esto... de todos modos, muchas gracias....
Hasta Pronto _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 04 Abr, 2004 10:26 pm Asunto: |
|
|
Mira con respecto al envio y recepcion de mensjaes, esta bien, como lo estas haciendo, no hay mucho de que hablar, ya que tienes la conexiones a travez de socktes, bueno con respecto a la lan, esto funciona si, cuando envias en msg, debes indicar la maquina que esta como servidor, cuando es una LAn, es facil, sabes que siempre es la direccion 192.168.0.1 (servidor que comparte internet),
es facil saberlo, ahora bien, cuando estas con un router, no existe tal direccion, a menos que lo agas, manual, pero para ello te recomiendo, lo siguiente.. cada una de las maquinas se debe concetar enviando un msg, recuerda, puedes crear una pequeña tablita, para ello, donde guardes en dos campos el nombre o direccion de la pc, y el tipo de pc, es dedir E, estacion, o S Servidor quedando de la siguiente manera
pc1 E
pc2 E
pc3 e
pc4 S, donde la cuatro es el servidor, asi, puedes saber cuando te van a llegar los mensajes.. saludos, y espero haberte dado la ide... _________________
 |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Lun 05 Abr, 2004 3:44 am Asunto: |
|
|
Cesar muchas gracias por contestar mi post...
Pero para serte sincero, no logro comprender muy bien lo que me intentas decir....
Has de cuenta que yo tengo la aplicacion servidor y se en que maquina va a estar, pero me gustaria que no solo las pc en la red se logren conectar al chat sino de cualquier pc conectada a internet, pero lo que no se es como voy a enviar el mensaje a una pc que esta en una LAN en otra parte, puesto que probablemente no tenga hbilitado los puertos, habria que ocnfigurar esta LAN para que me permita el acceso por los puertos que mi aplicacion utiliza (los cuales son muchisimos). Me imagino que debe de haber una forma mas facil, asi como el MSN, no se realmente como funcioan este ultimo... espero que laguien me pueda echar la mano en darme la idea... Gracias... _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 05 Abr, 2004 5:08 am Asunto: |
|
|
Mira, te explico, lo del msn, este funciona de la siguiente manera, existe un servidor central. donde cada apliacion, se conecta a el, es decir el msn, cuando ejecutas el msn, en tu equipo, este se conceta a un servidor central, con una direccion IP fija, lo que hace realmente, es que cada msn, envia un mensaje, al Servidor Central. y este le genera un Socket, como el que tu haces..
bien.. para continuar te dire, que en ese servidor, estan registrados los nombres de usuarios, con una bandera (1-conectado, 0 desconectado), y a travez de una tabla, genera una relacion. de los usuarios conectados, es por eso que cuando inicias session, en el msn, el servidor se encarga de repartir un msg, que acabas de iniciar session a todos los usuarios que esten relacionados...
esto es como una tabla, al igual que en tu aplicacion..cuando se conectan varios usuarios.. generalmente los puertos para conexion via tcp, son 65535, de los cuales a partir del puerto 6668, empiezan a estar libres.. puede probar con el 17000, que nadie utiliza..
lo que necesitas, es que el programa se ejecute en las 2 pc, para poder verificar que estan conectados, o mas bien, tener una pagina web, donde al iniciar tu apliacion, via remota, tu soft se conecte a la pagina.. y envie el estado.. esto es un poco mas dificil ya que es programacion pHP, o xml, pero teniendo una direccion Ip fija, puedes hacerlo, asi cada vez que tus apliaciones se conecten, via remota, estas se localicen en un servidor central. para luego, dentro de este servidor poder gestionarlas, se me hace interesante tu codigo, seria bueno. que me lo pudieras compartir, si no te es molesto, para darme una idea, y ver que se pude ayudar...
saludos... _________________
 |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Lun 05 Abr, 2004 7:11 am Asunto: |
|
|
Cesar, nuevamente gracias, creo que ahora si me he despejado un poco....
De hecho lo que me interesaba mas saber era sobre los puertos, me dices que los puiertos altos estan libres, eso me parece excelente, lo que no se es si los routeadores o firewalls te los bloquean... pero bueno, creo que eso ya no concierne a este foro, tendre que buscarle mas en redes...
Muchas gracias.. y tambien por contestar el otro post, de hecho ya se me resolvio el propblema, al parecer era un TcpServerSocket, el modo de bloqueo esta como BlockingThread, lo cambie a Blockin nada mas y ya me funciono, no se por que la verdad pero asi fue...
Una ultima cuestion, es solo a mi o este foro tiene problemas?? sucede que cuando entro, puedo ver todos los mensajes normalmente, pero si le doy login con mi usuario, ya no puedo ver muchos de los mensajes mas recientes, incluyendo los dos que yo redacte. Le tengo que dar en Perfil de mi usuario y buscar todos mis mensajes para poder verlos... Quien sabe que este pasabndo... en Fin, muchas gracias, hasta pronto
PD: Claro que te mando mi codigo, nomas no se vale reirse jeje es un proyuecto de la escuela y pues tu sabes, con las prisas y eso a veces uno hace las cosas no de la mejor forma... Solo dime como te lo mando y adelante. _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 05 Abr, 2004 7:26 am Asunto: |
|
|
puedes enviarmelo al correo, es ccsg259@hotmail.com
gracias, por adelantado.. _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|