elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Sockets en Python
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sockets en Python  (Leído 4,197 veces)
Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Sockets en Python
« en: 1 Abril 2015, 02:21 am »

Después de leer un poco un libro de networking he estado experimentando b̶a̶r̶b̶a̶ ̶a̶u̶m̶e̶n̶t̶a̶d̶a̶ con los sockets en Python.
El libro "Python para todos" enseña a escribir un sencillo servidor y un cliente como ejercicio.

Servidor:

Código
  1. from socket import *
  2.  
  3. s = socket.socket()  
  4. s.bind(("localhost", 9999))  
  5. s.listen(1)  
  6.  
  7. sc, addr = s.accept()  
  8.  
  9. while True:  
  10.      recibido = sc.recv(1024)  
  11.      if recibido == "quit":  
  12.         break        
  13.      print "Recibido:", recibido  
  14.      sc.send(recibido)  
  15.  
  16. print "adios"  
  17.  
  18. sc.close()  
  19. s.close()

Cliente:

Código
  1. from socket import *
  2.  
  3. s = socket.socket()  
  4. s.connect(("localhost", 9999))  
  5.  
  6. while True:  
  7.      mensaje = raw_input("> ")  
  8.      s.send(mensaje)  
  9.      if mensaje == "quit":  
  10.         break  
  11.  
  12. print "adios"  
  13.  
  14. s.close()

Hay un problema en el import creo, no sé exactamente el por qué.

También probé con:

Código
  1. import socket

...pero tampoco funciona.

Este es el error que me bota la terminal al invocar el servidor:
Código
  1. [root@bubble Escritorio]# python socketserver.py
  2. Traceback (most recent call last):
  3.  File "socketserver.py", line 1, in <module>
  4.    from socket import *
  5.  File "/home/bubble/Escritorio/socket.py", line 3, in <module>
  6.    s = socket.socket()  
  7. TypeError: 'module' object is not callable
  8. [root@bubble Escritorio]#

¿Qué diablos ocurre?

Saludos.


« Última modificación: 1 Abril 2015, 12:21 pm por bubble1 » En línea

Namasté, criatura.
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Sockets en Python
« Respuesta #1 en: 1 Abril 2015, 05:16 am »

puede ser porque le has puesto de nombre a tu archivo socket.py y esta tratando de importarse a si mismo, puedo estar equivocado pero cambiale el nombre por cualquier otro! pepe.py


En línea

Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: Sockets en Python
« Respuesta #2 en: 1 Abril 2015, 11:33 am »

Sí, eso creo que era. No sé de dónde salió (o me estoy volviendo loco? XD)

Pero ahora me arroja otro error:

Código
  1. [bubble@bubble Escritorio]$ python socketserver.py
  2. Traceback (most recent call last):
  3.  File "socketserver.py", line 3, in <module>
  4.    s = socket.socket()  
  5. AttributeError: type object '_socketobject' has no attribute 'socket'
  6. [bubble@bubble Escritorio]$

Supongo que esto puedo encontrar en Google, igual gracias ;D
En línea

Namasté, criatura.
Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: Sockets en Python
« Respuesta #3 en: 1 Abril 2015, 12:21 pm »

Solucionado.

Cambié la línea "from socket import *" con "import socket".

Saludos.
En línea

Namasté, criatura.
Nasty35

Desconectado Desconectado

Mensajes: 77


Ver Perfil
Re: Sockets en Python
« Respuesta #4 en: 1 Abril 2015, 14:22 pm »

Para hacer un servidor de socket te recomiendo que uses la clase SocketServer
Un ejemplo de mi github: https://github.com/Nasty35/PyServer/blob/master/PyServer/src/Network.py
En línea

Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: Sockets en Python
« Respuesta #5 en: 2 Abril 2015, 09:57 am »

Pero, ¿cuál es la diferencia?

Me parece que SocketServer funciona más allá que dentro de la red local, ¿no?

Igual gracias por el código ;-)
En línea

Namasté, criatura.
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Sockets en Python
« Respuesta #6 en: 2 Abril 2015, 16:12 pm »

si vas a usar from socket es tan simple como:
Código
  1. from socket import *
  2. n=socket()
  3.  
en vez de :
Código
  1. import socket
  2. n=socket.socket()
  3.  
En línea

buenas
planton

Desconectado Desconectado

Mensajes: 68


" El Que PerSeVera TriUnFa En La ViDa"-"


Ver Perfil
Re: Sockets en Python
« Respuesta #7 en: 2 Abril 2015, 16:32 pm »

si vas a usar from socket es tan simple como:
Código
  1. from socket import *
  2. n=socket()
  3.  
en vez de :
Código
  1. import socket
  2. n=socket.socket()
  3.  

Funka..
En línea

Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: Sockets en Python
« Respuesta #8 en: 2 Abril 2015, 19:44 pm »

Gracias por la explicación daryo :laugh:

Saludos.
En línea

Namasté, criatura.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Python
Erik# 4 15,203 Último mensaje 4 Abril 2013, 16:43 pm
por SelTzeR
Python + Sockets
Scripting
anarquistadel89 5 5,814 Último mensaje 3 Diciembre 2009, 04:01 am
por pucheto
[Python] Error con Sockets
Python
calk9 0 4,421 Último mensaje 2 Octubre 2011, 18:46 pm
por calk9
PYTHON SOCKETS
Scripting
dhulas 2 2,285 Último mensaje 26 Abril 2017, 20:28 pm
por TheIllusionist
Sockets python
Scripting
Sentex 1 2,244 Último mensaje 20 Enero 2018, 02:47 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines