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 03-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Haciendo un sistema de comunicación por sockets sencillito

He seguido este sencillo tutorial para hacer un cliente servidor, lo he probado bajo locahost y funciona pero me gustaría saber que he de hacer para que funcione entre dos ordenadores que sólo están conectados a través de Internet.

Adjunto el código fuente que he creado yo con la ayuda del tutorial.

Para que funcione primero ejecutad el servidor y luego el cliente. En el cliente según está poneis localhost en el Edit que está a la derecha del Label "Computadora" y escribíd lo que querais en el Memo de arriba del cliente como si fuera un chat.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip Cliente-Servidor.zip (15,8 KB, 141 visitas)

Última edición por kakarotv5 fecha: 03-10-2007 a las 00:35:21.
Responder Con Cita
  #2  
Antiguo 03-10-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
no necesitas nada adicional si estás directamente conectado a internet.

en el campo de host, pornes tu ip de internet y listo
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 03-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por poliburro Ver Mensaje
no necesitas nada adicional si estás directamente conectado a internet.

en el campo de host, pornes tu ip de internet y listo
Ahora en vez de localhost he puesto mi IP privada y también funciona . Pero si pongo mi IP pública no obtego ningún resultado. Para establecer la comunicación con dos ordenadores que sólo están conectados a través de Internet qué IP debo poner la pública o la privada y qué puerto he de usar.

EDITO: Ahora me ha ocurrido algo muy curioso, he abierto el puerto 9923 (que es el puerto que usa mi programilla por defecto) y al intentar conectarme poniendo mi IP pública me sale el siguiente mensaje de error:

Project Project1.exe raised exception class ESocketError with message 'Asynchronous socket error 10053'. Process stopped. Use Step or Run to continue.'

Es curioso porque si no abro el puerto 9923 no sale ningún mensaje de error (aunque tampoco conecta).

Ayudadme por favor que parece que voy por buen camino, muchas gracias y un saludo.

Última edición por kakarotv5 fecha: 03-10-2007 a las 14:54:24.
Responder Con Cita
  #4  
Antiguo 03-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
PC1 IP:80.1.2.3
PC2 IP: 213.1.2.3

La PC1 llama a la PC2 por el puerto 9923. Lo que quiere decir que la PC2 debe tener el puerto 9923 abierto y un programa esperando comunicación.

PC1 IP:80.1.2.3 Port: 1000 (para salir elige un puerto al azar)
PC2 IP:213.1.2.3 Port 9923 esperando

PC1 IP:80.1.2.3 Port: 1000 -----> Port 9923 de PC2 IP:213.1.2.3

A menos que haya un Firewall que no deje salir paquetes (problema para PC1) o un Firewall que no deje recibir paquete por ciertos puertos (problema para PC2) no debería haber problemas.

También hay que decirle al router de PC2 (si no está en monopuesto) que todo lo que llegue para el puerto 9923 lo envía a la direccion interna de PC2 (normalmente 192.168.xxx.yyy o 172.26.xxx.yyy)
Responder Con Cita
  #5  
Antiguo 03-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
A menos que haya un Firewall que no deje salir paquetes (problema para PC1) o un Firewall que no deje recibir paquete por ciertos puertos (problema para PC2) no debería haber problemas.
A parte de esto que dices supongo que habrá que habrá que abrir el puerto 1000 en el PC1 y el puerto 9923 en el PC2. ¿Me equivoco?

Cita:
Empezado por duilioisola Ver Mensaje
También hay que decirle al router de PC2 (si no está en monopuesto) que todo lo que llegue para el puerto 9923 lo envía a la direccion interna de PC2 (normalmente 192.168.xxx.yyy o 172.26.xxx.yyy)
Esto no lo entiendo bien. ¿Se hace gestionando el router desde el navegador?

Gracias y un saludo.
Responder Con Cita
  #6  
Antiguo 03-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En el PC1 no es necesario abrir el puerto 1000. Normalmente los Firewalls y los routers dejan salir por cualquier puerto, pero solo entrar por algunos (80 http, 21 ftp, etc.)

La segunda parte es los que se llama NAT.
- Supongamos tu router tiene la IP pública 80.1.2.3.
- Supongamos que tu pc tiene la IP privada 192.168.1.2.

Pues: debes entrar al router, ir a la parte de NAT y decirle:
Todo lo que entre desde el PUERTO 9923 hasta el PUERTO 9923 se lo mandas a la IP 192.168.1.2.

Nota: si está en monopuesto, todo esto no vale. Funciona como si guera un modem y todo lo que entra al router entra directamente a tu PC.
Responder Con Cita
  #7  
Antiguo 03-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Esto es sobre el error 10053
Cita:
Software caused connection abort.
An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.
O el servidor (o un firewall) abortó la conección, o hubo un time-out.
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
Comunicacion en red (DDE / Sockets) mxoscar Varios 1 20-07-2007 08:48:05
Que estoy haciendo Mal esimon SQL 4 04-07-2006 21:55:25
Haciendo un Sweep AMINOA2R Firebird e Interbase 5 07-07-2005 15:00:36
comunicacion entre sockets Brando Internet 5 27-10-2004 17:20:42
...haciendo negocios... Jure Humor 0 11-10-2004 23:38:24


La franja horaria es GMT +2. Ahora son las 16:26:22.


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