Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

materias:laboratorio_de_lenguajes_ii:lableng2:ejemplosconcurrent [2011/01/24 15:30] (actual)
Línea 1: Línea 1:
 +====== Ejemplos de Concurrencia ======
  
 +==== Ejemplo 1 (Procesos hijos usando fork) ====
 +-----
 +//server-fork.py//
 +<code python>
 +#!/usr/bin/python
 +
 +from socket import *
 +import os
 +
 +puerto = 8878
 +
 +socketmain = socket(AF_INET, SOCK_STREAM)
 +socketmain.bind(('',puerto))
 +socketmain.listen(2)
 +
 +while 1:
 +        conn, direc = socketmain.accept()
 +        print "Conectado: ",direc
 +        pid = os.fork()
 +        if pid==0:
 +            conn.send("Hola desde servidor en Python\n")
 +            dato = conn.recv(1024)
 +            print dato
 +            conn.send("Dato:"+dato)
 +
 +            conn.close()
 +            break
 +</code>
 +
 +==== Ejemplo 2 (usando hilos) ====
 +-----
 +//server-threads.py//
 +<code python>
 +#!/usr/bin/python
 +
 +from socket import *
 +import thread
 +import os
 +
 +def procConeccion(conn):
 +    conn.send("Hola desde servidor en Python\n")
 +    dato = conn.recv(1024)
 +    print dato
 +    conn.send("Dato:"+dato)
 +    conn.close()
 +
 +
 +puerto = 8877
 +
 +socketmain = socket(AF_INET, SOCK_STREAM)
 +socketmain.bind(('',puerto))
 +socketmain.listen(2)
 +
 +while 1:
 +        conn, direc = socketmain.accept()
 +        print "Conectado: ",direc
 +        thread.start_new_thread(procConeccion,(conn,))
 +socketmain.close()
 +</code>
 
materias/laboratorio_de_lenguajes_ii/lableng2/ejemplosconcurrent.txt · Última modificación: 2011/01/24 15:30 (editor externo)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki