TELNET - Unable to connect to remote host: Connection refused

1,091 views
Skip to first unread message

Emiliano Orlando

unread,
Oct 26, 2009, 3:06:35 PM10/26/09
to 7542 - Taller de Programación
Buenas, realice el encapsulamiento de los sockets, y construi la clase
server y un server_ main para testear los socket, pero al querer
conectar la aplicacion telnet me lanza el siguiente msj:
emiliano@emiliano-laptop:~$ telnet localhost 4545
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

De mas esta decir que en otra consola previamente corro el server en
el mismo puerto, y que constate que el bind() y el listen() me
devuelven != -1.

Puedo tener yo algun problema de configuracion local que me rebota las
conexiones del telnet?
Si realizo la cracion del socket, el bindeado y el listen y no
devuelven -1 no deberia ya estar en condiciones de conectarme con el
telnet sin siquiera hacer el accept?

Saludos y gracias, espero resolver este tema pronto porque estoy
trabado para seguir :P

Emiliano

Leandro Fernández

unread,
Oct 26, 2009, 3:16:42 PM10/26/09
to tallerdepr...@googlegroups.com
Con este comando podés ver los puertos abiertos. Si el server está corriendo te va a aparecer en la lista.

$ netstat -np --tcp

Asegurate de poner 0.0.0.0 como IP en el bind() del server.


2009/10/26 Emiliano Orlando <emiliano...@gmail.com>



--
_Leo_
[http://www.drk.com.ar]

Emiliano Orlando

unread,
Oct 26, 2009, 4:09:45 PM10/26/09
to 7542 - Taller de Programación
Gracias por la respuesta inmediata!
Le saque un casteo adentro del ::bind (que aparece en el ejemplo del
apunte de la catedra) y anduvo..
Puntualmente modifique:
::bind(this->fd,(struct sockaddr*)&serv_addr, (socklen_t)sizeof(struct
sockaddr)));
por
::bind(this->fd,(struct sockaddr*)&serv_addr,sizeof(struct
sockaddr)));

Al sacarle el (socklen_t) comenzo a andar... no veo el porque fallaba
de la otra forma, pero comento mi experiencia.

Gracias

Emiliano

On 26 oct, 16:16, Leandro Fernández <drkb...@gmail.com> wrote:
> Con este comando podés ver los puertos abiertos. Si el server está corriendo
> te va a aparecer en la lista.
>
> $ netstat -np --tcp
>
> Asegurate de poner 0.0.0.0 como IP en el bind() del server.
>
> 2009/10/26 Emiliano Orlando <emilianoorland...@gmail.com>

Emiliano Orlando

unread,
Oct 26, 2009, 5:33:26 PM10/26/09
to 7542 - Taller de Programación
Bueno.. el problema reaparecio igual de magicamente que como se habia
ido...

pego una peque;a parte de mi codigo de bindeo:

memset((char*)&serv_addr,0,sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(puerto);
serv_addr.sin_addr.s_addr=INADDR_ANY;
cout<<"Bindeando Socket al puerto "<<puerto<<"..."<<endl;
return (::bind(this->fd,(struct sockaddr*)&serv_addr,sizeof(struct
sockaddr)));

efectivamente el bind devuelve 1 (idem el listen) pero corriendo
netstat -np --tcp constato que realmente no se conecto al puerto en
cuestion. Estoy usando mal el memset para poner todo en cero al
principio? alguna otra idea?

Gracias
Emiliano

On 26 oct, 17:09, Emiliano Orlando <emilianoorland...@gmail.com>
wrote:

Leandro Fernández

unread,
Oct 26, 2009, 7:24:51 PM10/26/09
to tallerdepr...@googlegroups.com
return (::bind(this->fd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)));

2009/10/26 Emiliano Orlando <emiliano...@gmail.com>



--
_Leo_
[http://www.drk.com.ar]
Reply all
Reply to author
Forward
0 new messages