Bienvenido

Esta es una comunidad de programadores freelance

Puedes registrarte para acceder a todas las opciones del foro. Una vez registrado, podrás crear nuevas temas, responder y ganar reputación en la comunidad, enviar mensajes privados, y muchas opciones más.


+ Responder Tema + Crear Nuevo Tema
Resultados 1 al 3 de 3

Tema: Sockets en Python
  • Share This Thread!
    • Share on Facebook
    1. #1
      Member Fabián Rodríguez va por un camino distinguido Avatar de Fabián Rodríguez
      Fecha de Ingreso
      29 ene, 10
      Ubicación
      Colombia
      Mensajes
      92

      Talking Sockets en Python

      Sockets en Python

      La utilización de sockets es una tema bastante complejo para los que apenas se inician en la programación o para los que apenas entienden su funcionamiento sin una forma práctica de poder visualizarlo. Hoy veremos como manejar los sockets en Python:

      Código fuente del servidor

      [highlight=python]import socket // importamos la libreria
      s = socket.socket() // Creamos un objeto
      s.bind((“localhost”, 9999)) // añadimos el host y el puerto
      s.listen(1) // Para aceptar las conexiones entrantes
      sc, addr = s.accept() // Accept para escuchar
      while True:
      recibido = sc.recv(1024)
      if recibido == “quit”:
      break
      print “Recibido:”, recibido
      sc.send(recibido)
      print “adios”
      sc.close()
      s.close()[/highlight]

      Bueno, he puesto algunos comentarios en el código leanlos para entender mejor esto, luego de eso seguimos con otra cosa primordial que es aceptar los datos entrantes:

      [highlight=python]while True:
      recibido = sc.recv(1024)
      if recibido == “quit”:
      break[/highlight]

      Con ese código recibiremos los datos y si el dato enviado es "quit" se cierra la conexión. Ahora vamos con el cliente:

      [highlight=python]import socket
      s = socket.socket()
      s.connect((“localhost”, 9999))

      while True:
      mensaje = raw_input(“> “)
      s.send(mensaje)
      mensaje == “quit”:
      break
      print “adios”
      s.close()
      [/highlight]

      En el clienete programaremos la parte en la que el usuario puede enviar un mensaje, pero primero como ya hemos hecho anteriormente importamos librerías y añadimos los datos de conexión y creamos un objeto socket.

      [highlight=python]import socket
      s = socket.socket()
      s.connect((“localhost”, 9999)) [/highlight]

      Luego en el bucle añadimos una sentencia para que el usuario pueda insertar un texto y enviarlo al servidor:

      [highlight=python]while True:
      mensaje = raw_input(“> “)
      s.send(mensaje)
      mensaje == “quit”:
      break[/highlight]

      Si la palabra es "quit" se cierra la conexión. Entonces como hemos podido ver los sockets en Python son una buena alternativa para empezar a aprender y entender como funcionan.

    2. #2
      Administrator Kaos ha deshabilitado la reputación Avatar de Kaos
      Fecha de Ingreso
      24 ene, 10
      Ubicación
      Buenos Aires
      Mensajes
      129

      Predeterminado

      Tienes algun enlace(s) con ejemplos del uso de sockets en python?
      Carlos Olivera
      en Twitter
      en Linkedin

    3. #3
      Member Fabián Rodríguez va por un camino distinguido Avatar de Fabián Rodríguez
      Fecha de Ingreso
      29 ene, 10
      Ubicación
      Colombia
      Mensajes
      92

      Predeterminado

      De la Wiki oficial de Python: HowTo/Sockets - PythonInfo Wiki
      Por cierto el Geshi me "malogra el código" Python que contiene el caracter [] :S

    + Responder Tema