Ver Mensaje Individual
  #1  
Antiguo 16-01-2012
davidrgh davidrgh is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 11
Reputación: 0
davidrgh Va por buen camino
Conflicto de puertos con Indy

Hola a todos/as

A ver si alguien puede orientarme. Tenemos que hacer una aplicación que se comunique, vía TCP, con una impresora y mandarle una serie de comandos. Hemos hecho un pequeño programa de prueba que se conecta a la impresora, envía una señal de establecimiento y luego le envía el comando en sí. Para ello estamos usando los componentes IdTCPClient e IdTCPServer.

El cliente lo configuramos con la IP y el puerto que indique el usuario y también ponemos (no sé si es correcto, pero nos funcionó con otra aplicación en la que tenían que comunicarse dos programas en la misma máquina) un valor (ej: 8084) en BoundPort.
Cuando enviamos la señal de establecimiento (utilizo Microsoft Network Monitor para ver el flujo de datos entre ambas direcciones), el ordenador envía desde el puerto 8084 el paquete al puerto 2000 de la impresora (el que le hemos dicho que use), y la impresora devuelve el ACK (que nosotros tenemos que capturar) al puerto 8084 (al que se haya puesto en BoundPort).

El problema es que si intentamos abrir el IdTCPServer en ese puerto, salta error diciendo que no se puede porque ya está en uso.

¿Alguna idea de cómo se podría lograr?
Responder Con Cita