コード例 #1
0
def ir():
    if (request.method == 'POST'):
        data = request.form
        ipbd = mybd["ip"]
        ipsobj = ipbd.find()
        ips = []
        for x in ipsobj:
            ips.append(x["_id"])
            print(x["_id"])
        if (data.get("direcciones")):
            enviarNumero(sock, 9)
            tam1 = recibirNumero(sock)

            dir1 = []
            dir2 = []
            for i in range(tam1):
                texto = recibirTexto(sock)
                dir1.append(texto)
            tam2 = recibirNumero(sock)
            for i in range(tam2):
                texto = recibirTexto(sock)
                dir2.append(texto)
            dicciona = {}
            dicciona["ips"] = ips
            dicciona["dir1"] = dir1
            dicciona["dir2"] = dir2
            return render_template("dir.html", dicciona=dicciona)
        else:
            return render_template("services.html", ips=ips)
コード例 #2
0
ファイル: servidor.py プロジェクト: gcg9898/distribuidos
def readFile(nombrefichero,connection,client_address):
    #enviar codigo leerfichero
    enviarNumero(connection,3)
    if(comprobarLeerFichero(ips,client_address)== False):
        ips.update_one({'_id': client_address},{ "$set":{'leerfichero': 1}},True) 
        enviarFichero(connection,"leerfichero.py")
    #enviar nombre fichero
    enviarTexto(connection,nombrefichero)
    #recibo texto del fichero
    lectura = recibirTexto(connection)   
    return lectura
コード例 #3
0
def crear():
    if (request.method == 'POST'):
        data = request.form
        ip1 = data.get("ip1")
        ip2 = data.get("ip2")
        titulo = data["titulo"]
        contenido = data["contenido"]
        if (ip1):
            enviarNumero(sock, 11)
            enviarTexto(sock, titulo)
            enviarTexto(sock, contenido)
        if (ip2):
            enviarNumero(sock, 12)
            enviarTexto(sock, titulo)
            enviarTexto(sock, contenido)
        return ("creado")
コード例 #4
0
def leerindicado():
    if (request.method == 'POST'):
        leido = {}
        data = request.form
        indicado1 = data.getlist("listip1")
        indicado2 = data.getlist("listip2")
        for i in indicado1:
            enviarNumero(sock, 5)
            enviarTexto(sock, i)
            a = recibirTexto(sock)
            leido[i + "1"] = a
        for i in indicado2:
            enviarNumero(sock, 6)
            enviarTexto(sock, i)
            a = recibirTexto(sock)
            leido[i + "2"] = a
        return (str(leido))
コード例 #5
0
def dascargar():
    if (request.method == 'POST'):
        data = request.form
        indicado1 = data.get("listip1")
        indicado2 = data.get("listip2")
        if (indicado1):
            enviarNumero(sock, 5)
            enviarTexto(sock, indicado1)
            a = recibirTexto(sock)
            leido = a
            crearFichero(indicado1, leido)
            return send_from_directory(directory="./", filename=indicado1)
        elif (indicado2):
            enviarNumero(sock, 6)
            enviarTexto(sock, indicado2)
            a = recibirTexto(sock)
            leido = a
            crearFichero(indicado2, leido)
            return send_from_directory(directory="./", filename=indicado2)
コード例 #6
0
ファイル: servidor.py プロジェクト: gcg9898/distribuidos
def suma(num1,num2,connection,client_address):
    #enviar codigo suma
    enviarNumero(connection,2)
    if(comprobarSuma(ips,client_address)== False):
        ips.update_one({'_id': client_address}, {"$set":{ 'suma': 1}},True)
        enviarFichero(connection,"suma.py")
    #enviar num1 y num2
    enviarNumero(connection, num1)
    enviarNumero(connection, num2)
    #recibir resultado
    a = recibirNumero(connection)
    return a
コード例 #7
0
def suma(result,connection):
    enviarNumero(connection,result)
コード例 #8
0
server_address = ('0.0.0.0', 15000)
sock2.bind(server_address)
sock2.listen(2)
while(True):
    op = recibirNumero(sock)
    if(op == 2):
        if(not(ficheroExiste("suma.py"))):
            recibirFichero(sock,"suma.py")
        num1 = recibirNumero(sock)
        num2 = recibirNumero(sock)
        #envio resultado
        x = threading.Thread(target=ejecutarSuma)
        x.start()
        connection,a = sock2.accept()
        print("conexion suma creada")
        enviarNumero(connection, num1)
        enviarNumero(connection, num2)
        result = recibirNumero(connection)
        connection.close()
        suma(result,sock)
    if(op == 3):
        if(not(ficheroExiste("leerfichero.py"))):
            recibirFichero(sock,"leerfichero.py")
        texto = recibirTexto(sock)
        y = threading.Thread(target=ejecutarLeer)
        y.start()
        connection2,a = sock2.accept()
        print("conexion leer creada")
        #enviar nombre fichero
        enviarTexto(connection2,texto)
        lectura = recibirTexto(connection2)
コード例 #9
0
ファイル: servidor.py プロジェクト: gcg9898/distribuidos
 connection2, client_address2 = sock.accept()
 print('connection from', client_address2)
 ipcliente2 = client_address2[0]
 addr.append(ipcliente2)
 #connection cliente 2
 connection3, client_address3 = sock.accept()
 ipcliente3 = client_address3[0]
 print('connection from', client_address3)
 addr.append(ipcliente3)
 while True:
     data = recibirNumero(connection1)
     if(data == 0 ):
         num1 = recibirNumero(connection1)
         num2 = recibirNumero(connection1)
         resultado = suma(num1,num2,connection2,ipcliente2)          
         enviarNumero(connection1, resultado)
     elif(data== 1):  
         texto= readFile("texto.txt",connection2,ipcliente2)
         enviarTexto(connection1,texto)
     elif(data== 2):
         num1 = recibirNumero(connection1)
         num2 = recibirNumero(connection1)
         resultado = suma(num1,num2,connection3,ipcliente3)
         enviarNumero(connection1, resultado)
     elif(data== 3):  
         texto= readFile("texto.txt",connection3,ipcliente3)
         enviarTexto(connection1,texto)
     elif(data == 5):
         texto = recibirTexto(connection1)
         leido = readFile(texto,connection2,ipcliente2)
         enviarTexto(connection1,leido)
コード例 #10
0
def analizar():
    if (request.method == 'POST'):
        ipbd = mybd["ip"]
        ipsobj = ipbd.find()
        ips = []
        for x in ipsobj:
            ips.append(x["_id"])
            print(x["_id"])
        data2 = request.form
        print(data2)
        num1 = data2["num1"]
        num2 = data2["num2"]
        suma1 = data2.get(ips[0] + "pruebaclase")
        buclesuma1 = data2[ips[0] + "pruebaclase" + "1"]
        leerfichero1 = data2.get(ips[0] + "remotefile")
        buclesleerfichero1 = data2[ips[0] + "remotefile" + "2"]
        suma2 = data2.get(ips[1] + "pruebaclase")
        buclesuma2 = data2[ips[1] + "pruebaclase" + "1"]
        leerfichero2 = data2.get(ips[1] + "remotefile")
        buclesleerfichero2 = data2[ips[1] + "remotefile" + "2"]
        texto = "no hay texto"
        resultSuma1 = []
        resultSuma2 = []
        resulttexto1 = []
        resulttexto2 = []
        if (suma1):
            for x in range(int(buclesuma1)):
                print("suma")
                enviarNumero(sock, 0)
                #envio numero 1 y 2
                enviarNumero(sock, num1)
                enviarNumero(sock, num2)
                #recibo la suma
                resultado = recibirNumero(sock)
                resultSuma1.append(resultado)
        if (leerfichero1):
            for x in range(int(buclesleerfichero1)):
                print("leer")
                enviarNumero(sock, 1)
                texto = recibirTexto(sock)
                resulttexto1.append(texto)
        if (suma2):
            for x in range(int(buclesuma2)):
                print("suma")
                enviarNumero(sock, 2)
                #envio numero 1 y 2
                enviarNumero(sock, num1)
                enviarNumero(sock, num2)
                #recibo la suma
                resultado = recibirNumero(sock)
                resultSuma2.append(resultado)
        if (leerfichero2):
            for x in range(int(buclesleerfichero2)):
                enviarNumero(sock, 3)
                texto = recibirTexto(sock)
                resulttexto1.append(texto)
                resulttexto2.append(texto)
        return ("texto por maquina1: " + str(resulttexto1) +
                " suma por maquina1 : " + str(resultSuma1) +
                "texto por maquina2: " + str(resulttexto2) +
                " suma por maquina2 : " + str(resultSuma2))