Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # RECUERDEN LA IDENTACION SI IMPORTA.
- # NO ES LO MISMO UN TAB QUE UN ESPACIO.
- # OPTEN SIEMPRE POR UNO NO LOS DOS.
- # biblioteca con todo lo necesario para manejar sockets
- import socket
- # funcion que nos permite sumar dos numeros y retornarlo como un string
- def suma(num, num2):
- total = num + num2
- return str(total)
- # nueva instancia de un objeto tipo socket
- ss = socket.socket()
- # opciones especial para que el socket no quede atrapado
- ss.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- # seteamos ip y puerto que debera escuchar nuestro socket
- ss.bind(("localhost", 9998))
- # fijamos el numero maximo de peticiones por conexion
- # depende del sistema operativo, pero esta vez lo setearemos en 1
- ss.listen(1)
- # Metodo de la clase socket que nos retorna una tupla con los datos de conexion del cliente
- sc, addr = ss.accept()
- while True:
- print "Esperando mensaje..."
- recibido = sc.recv(1024) # almacenamos los mensajes del cliente para luego ser procesados
- opt = recibido.split(" ") # procesamos la informacion enviada por el cliente
- if opt[0] == "quit": # si lo que envia el cliente es quit salimos del bloque while
- break
- if opt[1] == "+":
- sc.send(suma(int(opt[0]), int(opt[2]))) # utilizando la funcion creada anteriormente para procesar la infomacion del cliente, luego de esto enviamos el resultado al cliente
- print "adios" # al salir del bloque while nos despedimos
- sc.shutdown(socket.SHUT_RD | socket.SHUT_WR) # cerramos la conexion para liberar el puerto
- sc.close() # cerramos la instancia del objeto cliente para liberar memoria
- ss.close() # cerramos la instancia del objeto servidor para liberar memoria
Advertisement
Add Comment
Please, Sign In to add comment