Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
enviar un mensaje de texto de un pc a otro. (con pcs en diferentes localizaciones)

Hola cual creeis que sería el mejor modo de enviar un mensaje de texto de un pc a otro desde una app delphi,
he probado con un cliente/servideor TCP y va bien:
http://www.delphibasics.info/home/de...etschatexample
pero claro está el inconveniente de que hay que poner la ip del servidor y tener el puerto abierto en el router del servidor y puede ser un poco de lio para el que lo use.
O puedo poner algún puerto que no haga falta abrirlo?
Es que pruebo conectandome en el mismo pc con los dos programas cliente/servidor poniendo mi ip de internet en el cliente pero si no abro puerto no va.

Otra cosa se me ocurre es crear un cliente de correo eléctrónico y enviar por email el mensaje. No se si esto sería mejor.

gracias

Última edición por cocute fecha: 26-02-2016 a las 11:53:57.
Responder Con Cita
  #2  
Antiguo 26-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Envias un email, es lo más simple
Responder Con Cita
  #3  
Antiguo 26-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
pero claro con el email el cliente recibiría todos los mensajes de su cuenta de email y no sólo el que le envías.

tiene que haber algún modo de hacerlo con sockets pero que no haya que abrir puertos.
Responder Con Cita
  #4  
Antiguo 26-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, tampoco has explicado en detalle qué necesitas y para qué.
Para recibir mensajes, lo más cómodo y simple es un email, abre una cuenta de google específica para ello y tan solo recibirá los mensajes que vayan a esa cuenta, ninguna más.
No sé, algo como mensajes.de.chat@google.com y así no mezclas emails privados ni de nadie más.
Pero, ya digo, depende de lo que quieras obtener, de los requerimientos del proyecto.
Responder Con Cita
  #5  
Antiguo 26-02-2016
WHILENOTEOF WHILENOTEOF is offline
Miembro
 
Registrado: mar 2008
Posts: 229
Poder: 17
WHILENOTEOF Va camino a la fama
Yo tengo implementada esa funcionalidad empleando los eventos que se generan en una base de datos Firebird. Tengo una tabla de mensajes y cuando se inserta un registro se genera un evento que reciben los cllientes, cuando recibo ese evento en un cliente chequeo la tabla para ver si el mensaje le corresponde a ese cliente, y en caso afirmativo lo leo y se lo muestro en el programa. Esto te evita hacer otras configuraciones de IP y puertos, al margen de las que haces en una instalación cliente servidor con Firebird.
Responder Con Cita
  #6  
Antiguo 26-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Bueno, tampoco has explicado en detalle qué necesitas y para qué.
Para recibir mensajes, lo más cómodo y simple es un email, abre una cuenta de google específica para ello y tan solo recibirá los mensajes que vayan a esa cuenta, ninguna más.
No sé, algo como mensajes.de.chat@google.com y así no mezclas emails privados ni de nadie más.
Pero, ya digo, depende de lo que quieras obtener, de los requerimientos del proyecto.
pero ya obligas a que el que use el programa se cree una cuenta de correo nueva.
Responder Con Cita
  #7  
Antiguo 26-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
Cita:
Empezado por WHILENOTEOF Ver Mensaje
Yo tengo implementada esa funcionalidad empleando los eventos que se generan en una base de datos Firebird. Tengo una tabla de mensajes y cuando se inserta un registro se genera un evento que reciben los cllientes, cuando recibo ese evento en un cliente chequeo la tabla para ver si el mensaje le corresponde a ese cliente, y en caso afirmativo lo leo y se lo muestro en el programa. Esto te evita hacer otras configuraciones de IP y puertos, al margen de las que haces en una instalación cliente servidor con Firebird.
si, eso sería otra solución, pero ya dependes de tener alojada una base de datos en un servidor.
Responder Con Cita
  #8  
Antiguo 26-02-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por cocute Ver Mensaje
pero claro está el inconveniente de que hay que poner la ip del servidor y tener el puerto abierto en el router del servidor y puede ser un poco de lio para el que lo use.
Todo viaja por algun puerto, si o si.

Ahora, la manera mas simple posible es usando un servicio como https://www.pubnub.com/ (la capa gratuita da para bastante).

De ahi, si es en una red local, usando UDP. Si es por internet necesitas una direccion (usar un protocolo P2P es mas complicado). Puedes hacer como hace pubnub y similares y tener un servidor que hace la retransmision de los mensajes. Los clientes usan una direccion como "www.miretransmisor.com" y ese usando HTTP (que todos tendran el puerto 80 abierto) y un ID de cliente se encarga de coordinar todo. Ahora, en tal caso es mejor si usas un software especializado que te medie todo eso (como pubnub). Podria servirte usar REDIS como mediador, o ZeroMQ o cualquier apps especializada en coordinar mensajes (busca "Message Broker" en google)
__________________
El malabarista.
Responder Con Cita
  #9  
Antiguo 26-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
y no podría usar lo de enviarlo por sockets por el puerto 80 o por algún puerto que siempre esté abierto.
(aunque he probado y me da error)
Responder Con Cita
  #10  
Antiguo 27-02-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Podrias.

Pero el puerto 80 tiene privilegios precisamente para evitar que lo "robe" un programa en cualquier momento y arruine la navegacion y otras cosas. Asi que tendria que tener permisos de administrador.

Si el envio de mensajes es casual, usa email. Si necesitas algo mas, usa un servicio como pubnub (en serio!). Si quieres hacerlo todo tu, usa ZeroMQ u similar.

Hacerlo a mano con Sockets (tcp o udp o similar) es mucho mas complicado (y con errores que seguro cometeras si no tienes experiencia) que usar ZeroMQ o similar.

No hay camino *mas facil* que usar correo y/o usar un servicio que de lo que quieres, como pubnub. De ahi en adelante, es como te hemos dicho y no hay forma de hacerlo "trivial" sin que haya pero aqui o pero alla...
__________________
El malabarista.
Responder Con Cita
  #11  
Antiguo 27-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
y si el que usa el programa no está navegando en ese momento serviría pues el puerto 80?
Es que lo del email lo veo más lio.

lo que quiero es pasar las coordenadas gps de un pc a otro, y que el programa destino interprete esas coordenadas.

Casi prefiero que tenga que abrir puertos que no lo de los emails.
Responder Con Cita
  #12  
Antiguo 27-02-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Parece que te resistes: Quieres facil y sencillo? Usa pubnub (o similar). Mejor no lo haras ni a palos.

Sin abrir puertos solo podrias con un servidor HTTP que coordine. NO LE BUSQUES MAS que estas son tus opciones tal como pintas la cosa.
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 28-02-2016
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Parece que te resistes: Quieres facil y sencillo? Usa pubnub (o similar). Mejor no lo haras ni a palos.

Sin abrir puertos solo podrias con un servidor HTTP que coordine. NO LE BUSQUES MAS que estas son tus opciones tal como pintas la cosa.
Gracias,seguramente esa sea buena opción,
pero es que eso de pubnun tu lo ves muy fácil, pero yo entro ahí me creo una cuenta pero no se como se integra eso,
miro en documentación y hay muchos lenguajes pero no salen apps Delphi de ejemplo
https://www.pubnub.com/documentation/
imagino que va todo enviando enlaces en el navegador pero no me termino de enterar como va

Última edición por cocute fecha: 28-02-2016 a las 16:12:04.
Responder Con Cita
  #14  
Antiguo 28-02-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Usando la interface rest se puede integrar con casi todos los APIs:

https://www.pubnub.com/http-rest-push-api/

Eso es haciendo POST / GET, etc con cualquier libreria como synapse o indy. Es cosa de mirar el API e implementar lo necesario.

P.D: Pubnub no es el unico servicio de este tipo. Hay muchos otros que te pueden servir.
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Se impide enviar email a diferentes dominios uper Python 2 25-05-2015 18:34:59
Enviar Mensaje a Usuario mantraxer21 Varios 2 13-09-2010 19:59:38
Reporte en Diferentes Archivos de Texto jovehe Impresión 4 14-10-2004 20:36:21
enviar un mensaje a otro ordenador felixgo Internet 2 28-04-2004 10:16:11
Enviar mensaje Ignacio Varios 6 05-03-2004 09:38:07


La franja horaria es GMT +2. Ahora son las 20:15: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
Copyright 1996-2007 Club Delphi