problema con sockets
Simon Norambuena
crazy_man12 en hotmail.com
Vie Dic 15 15:02:25 CLST 2006
Hola lister en s:
tengo una consulta que al parecer tiene que ver con C y Linux.
Estoy desarrollando en C una aplicación cliente - servidor, donde el cliente
tiene windows xp y el servidor tiene linux O.S. red hat con dos tarjetas de
red una pci y otra pcmcia , y se comunican entre sí a traves de un socket.
El problema está en que cuando abro el socket en el servidor y lo pongo en
modo escucha y luego hago que acepte las conexiones del cliente cuando se
conecte, no pasa nada, no recibe datos. Luego de calentarme la cabeza un
buen rato lo siguiente me llamo la atención, la tarjeta eth0 tiene ip
192.168.1.189 y la tarjeta de red eth1 (que es la que se conecta con el
cliente) tiene ip 192.168.2.2 por lo cual en el codigo del servidor puse lo
siguiente
server.sin_addr.s_addr = inet_addr("192.168.2.2");
donde server es una estructura del tipo "struct sockaddr_in". la cosa es que
cuando ejecuto la aplicación y hago un netstat -n o netstat -a, veo
solamente que tiene abierto puertos en la ip 192.168.1.189, ya que muestra
una lista con
192.168.1.189:puerto "Listening"
entonces no sé por qué no abre el puerto que pido en la IP 192.168.2.2 que
es la que se conecta con el cliente. Cabe destacar que los sockets del
cliente y del servidor son del tipo tcp por lo cual deberian ser
compatibles, ambos son declarados algo así como
aux_sock=socket(AF_INET, SOCK_STREAM, 0);
Si alguien me pueda ayudar, o si bien necesitan más información, desde ya lo
agradecería.
Saludos.
----
Ramón Norambuena Valparaiso - Longaví
Estudiante Ingenieria Civil Eléctrica
Linux user: #298615
_________________________________________________________________
De todo para la Mujer Latina http://latino.msn.com/mujer/
Más información sobre la lista de distribución Linux