[pyar] Problemas con Sockets

Angel Java Lopez ajlopez2000 en gmail.com
Dom Abr 15 16:45:14 -03 2018


Hola!

Hmmm... el s.bind podria ser s.bind('', 9999) con un string vacio

Ver https://docs.python.org/2/howto/sockets.html

Probaria eso, aparte del firewall

No parece que s.bind('ip'....) la ip tenga que ser la del cliente, sino que
hay que poner la del servidor. Pero primero probaria ''

Nos leemos!

Angel "Java" Lopez
@ajlopez


2018-04-15 16:12 GMT-03:00 walter <str1132 en gmail.com>:

> Hola a Tod en s,
>
> Soy nuevo en esto de python y creo que me he enamorado, he hecho varias
> cosotas muy interesantes con muy poco código y eso e ha atrapado
> totalmente, ahora mismo me estoy metiendo con sockets, y estoy teniendo
> algunos problemitas, el problema es simple, si ejecuto el cliente y el
> server en modo localhos, va todo perfecto funciona de muerte, les paso los
> scripts para que los miren:
>
> Cliente:
>
> import socket
>
> socket_cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> socket_cliente.connect(("localhost", 9999))
>
> while True:
>         mensaje = str(input(">> "))
>         socket_cliente.send(mensaje.encode('utf-8'))
>
>         recibido = socket_cliente.recv(1024)
>         print("Recibido: ", recibido)
>
> print ("Adios")
> socket_cliente.close()
>
> *******************
>
> Server:
>
> import socket
> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> s.bind(("localhost", 9999))
> s.listen(5)
>
> print ("Servidor de Chat\n")
>
> while True:
>         print ("Esperando conexión...")
>         sc, addr = s.accept()
>         print ("Cliente conectado desde: ", addr)
>
>         while True:
>                 recibido = sc.recv(1024)
>                 if "quit" == recibido:
>                         break
>                 print ("Recibido: ", recibido)
>
>                 nuestra_respuesta = "Hola cliente, yo soy el servidor.
> Unete a Walex!"
>                 sc.send(nuestra_respuesta.encode('utf-8'))
>
> print ("Adios")
> sc.close()
> s.close()
>
>
> Mi problema viene cuando quiero hacer esto en PC's diferentes, para ello
> hago las siguientes modificaciones,
>
> Para el server, entiendo que solo cambio esta linea:
>
> s.bind(("ip-pc-cliente", 9999))  << ó >>  s.bind((socket.gethostname(),
> 9999))
>
> Y para el cliente esta otra:
>
> socket_cliente.connect(("ip-pc-server", 9999))
>
>
> Tengi entendido con estas simple modificacion deberia funcionar. Pero el
> script server me tira el siguiente error:
>
> Traceback (most recent call last):
>   File "./cliente.py", line 4, in <module>
>     socket_cliente.connect(("localhost", 9999))
> ConnectionRefusedError: [Errno 111] Connection refused
>
> Podrian decirme donde estoy metiendo la pata? o que me faltaría hacer?
>
> Desde Ya muchas gracias
>
> --
> [image: logo_freedex_new]
> <https://www.flickr.com/photos/81789344@N00/15442578781>
> *Daniel Walter Pérez Corvalán*
> Técnico Superior en Electrónica y Análisis de Sistemas
> Tel: 648652600
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180415/348cfbf1/attachment-0001.html>


Más información sobre la lista de distribución pyar