Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Erik# en 9 Febrero 2009, 13:59 pm



Título: [Python] Sockets en Python [+Ejemplos y Ejercicios]
Publicado por: Erik# en 9 Febrero 2009, 13:59 pm
Sockets en Python with Erik#

Aqui, en este mini taller, curso... como querais llamarle aprenderemos lo basico sobre sockets, Conexion, Envio de mensajes, Recibo de mensajes, Cerrar conexiones, Aceptar conexiones... y sin teorias de la conectividad, etc... 0 Teoria - 100 Practica.

PD: Estoy creando el post, cuando lo acabe lo cuelgo. (Entre hoy o mañana :))


Título: Re: Sockets en Python [+Ejemplos y Ejercicios]
Publicado por: nacho87 en 18 Febrero 2009, 13:52 pm
yo sigo esperando éste post :(


Título: Re: Sockets en Python [+Ejemplos y Ejercicios]
Publicado por: Erik# en 18 Febrero 2009, 21:34 pm
Perdoname, con el tragin de instalar openSUSE 11.1 no tube tiempo, en cuanto tengo unos minutitos lo hago :)


Título: Re: Sockets en Python [+Ejemplos y Ejercicios]
Publicado por: Erik# en 18 Febrero 2009, 22:49 pm
1.Importamos la libreria

Para empezar a programar sockets en Python necesitamos importar la libreria socket:

Código
  1. import socket

2.Creamos el objeto socket

Ahora tenemos que crear un objeto socket que efectuara las funciones de los sockets, nosotros por defecto usaremos una variable llamada sock:

Código
  1. sock = socket.socket()

De esta manera ya tenemos nuestro objeto listo para efectuar funciones

3.Nos conectamos al servidor

Ahora, usaremos la funcion conect para poder conectarnos a un servidor y poder mandarle datos, funciones...
Usaremos la variable sock que hemos declarado antes y pondremos el servidor + el puerto:

Código
  1. sock.connect(("localhost", 5000))

De esta manera nos conectamos a localhost en el puerto 5000.

4.Bucle de envios

Ahora entraremos en un bucle de envios en el que podremos enviar mensajes al servidor que nos hemos conectado, usaremos un while infinito y utilizaremos la funcion send():

Código
  1. while 1:
  2. msg = raw_input("~~> ")
  3. sock.send(msg)

Hemos utilizado raw_input para cojer el mensaje y luego sock.send(msg) para enviarlo al servidor conectado, como veis hemos decorado con un ~~> el mensaje que se pondra...

5.Cerramos conexion

Ahora usaremos close para cerrar la conexión:

Código
  1. sock.close()

6.Cliente total

Código
  1. # cliente.py by erik#
  2. import socket
  3. sock = socket.socket()
  4. sock.connect(("localhost", 5000))
  5.  
  6. while 1:
  7.      mensaje = raw_input("~~> ")
  8.      sock.send(mensaje)
  9. sock.close()
  10.  

Mañana pondre sobre servidores.


Título: Re: [Python] Sockets en Python [+Ejemplos y Ejercicios]
Publicado por: SelTzeR en 4 Abril 2013, 16:43 pm
me puedes pasar el link de el del servidor?