problema con TCP/IP

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
carloax
vRookie
vRookie
Mensajes: 8
Registrado: 30 Oct 2007, 09:50

problema con TCP/IP

Mensaje por carloax » 13 Mar 2008, 12:21

Tengo una báscula que se conecta a la red mediante un transformador de rs232 a ethernet.

El problema es que cuando yo envñio un mensaje lo hago a un puerto destino 1001 que he definido en Velneo, pero desde un puerto origen X que varía cada vez y que no se si se puede definir en Velneo.

El adaptador escucha el puerto 1001 y responde al puerto X, pero al desconocer ese puerto, no puedo poner el programa a la escucha.

¿Alguna idea?

Gracias.

Avatar de Usuario
rgvigo
vAdviser
vAdviser
Mensajes: 633
Registrado: 29 Oct 2005, 01:42

Mensaje por rgvigo » 13 Mar 2008, 15:25

No estoy seguro de lo que voy a decir, pero creo que es así.

Las conexiones tcp solo tienen un puerto de ecucha fijo, el de envio siempre es variable.

El servidor está a la escucha en el puerto 1001, recibe una petición del cliente desde el puerto x y se establece la comunicacion entre Servidor:1001 y cliente:x a partir de ahí estos puertos no varian.

Si hay una desconexión, la proxima vez el puerto x será distinto, pero el funcionamiento será el mismo.

Si estoy equivocadop que alguien me corrija.

Un saludo
Ricardo Riobó
ricardoriobo@indexneo.com
www.indexneo.com
Tel. +34 902 879 646

Avatar de Usuario
rgvigo
vAdviser
vAdviser
Mensajes: 633
Registrado: 29 Oct 2005, 01:42

Mensaje por rgvigo » 13 Mar 2008, 15:29

Se me olvidaba, si quieres saber exactamente lo que pasa entre el equipo y la bascula, instala un capturador de trafico tcp, (ethereal es de lo mejorcito), y analiza las peticiones y respuestas a través de la red.

Lo que hace ethereal es poner la tarjeta de red en modo promiscuo, y captura todo el trafico de la red aun que no vaya dirigida a tu equipo.

Un saludo
Ricardo Riobó
ricardoriobo@indexneo.com
www.indexneo.com
Tel. +34 902 879 646

Avatar de Usuario
José Luis Cuesta
vMate
vMate
Mensajes: 60
Registrado: 20 Sep 2005, 23:17
Ubicación: Vizcaya
Contactar:

Mensaje por José Luis Cuesta » 14 Mar 2008, 06:41

A mi pe pasó algo parecido con una máquina de control de presencia que se comunicaba por UDP. Obligatoriamente tenia que indicarle un puerto de salida, además de que Velneo no componía bien la cadena al enviársela a la máquina (creo que le metía siempre un intro).

Al final lo solucioné escribiendo otra función UDP cliente en una dll para salir por el puerto que quisiera. Si te sigue sin funcionar, envíame un privado a correo@ceesa.com que creo que no sería muy complicado hacer la misma función en TCP.

Saludos.
José Luis Cuesta

carloax
vRookie
vRookie
Mensajes: 8
Registrado: 30 Oct 2007, 09:50

Mensaje por carloax » 14 Mar 2008, 09:52

Gracias por contestar.

Ya había pasado un analizador de red y el problema es que me da lo siguiente:

Ordenador -> Báscula ; puerto origen: XXXX ; puerto destino: 1001

Báscula -> Ordenador ; puerto origen: 1001 ; puerto destino: XXXX

El problema es que XXXX es desconocido y variable y en Velneo hay que poner un puerto de escucha.

Avatar de Usuario
rgvigo
vAdviser
vAdviser
Mensajes: 633
Registrado: 29 Oct 2005, 01:42

Mensaje por rgvigo » 14 Mar 2008, 10:17

Creo que no, en velneo hay que poner un puerto de escucha si hace de servidor, es decir para el protocolo del servidor, pero en este caso el servidor es la bascula, por lo tanto tu en velneo usas el protocolo del cliente sin puerto de escucha.

No tengo forma de verlo ahora pero creo recordar que es así.

Un saludo
Ricardo Riobó
ricardoriobo@indexneo.com
www.indexneo.com
Tel. +34 902 879 646

Responder