コード例 #1
0
def main():
    try:
        #declaramos um objeto do tipo enlace com o nome "com". Essa é a camada inferior à aplicação. Observe que um parametro
        #para declarar esse objeto é o nome da porta.
        server = Comunicador(serialName)

        print("-------------------------")
        print('Porta Com habilitada')
        print("-------------------------")

        hs = False

        while hs == False:
            server.getHead()
            server.getEop()
            if server.message_type == 1:
                print(" handshake respondido")
                server.rogerHS()
                hs = True

        doingIt = True

        while doingIt == True:

            server.getHead()
            server.getPayload()
            server.getEop()
            server.sendAcknowlage()
            if server.conferData():
                print("Pacote recebido com sucesso ", server.package_index)
                server.joinPackages(server.payload)
                if server.package_index == (server.nPackage - 1):
                    doingIt = False

        imageW = "./recebidaTeste.png"
        print("-------------------------")
        print("Salvando dados no arquivo :")
        print(" - {}".format(imageW))
        f = open(imageW, 'wb')
        f.write(server.complete_payload)

        f.close()

        print("-------------------------")
        print("imagem recebida e salva")
        print("-------------------------")
        print("Comunicação Finalizada")

        server.end()

    except:
        print("ops! :-\\")
        server.end()
コード例 #2
0
def main():
    try:
        #declaramos um objeto do tipo enlace com o nome "com". Essa é a camada inferior à aplicação. Observe que um parametro
        #para declarar esse objeto é o nome da porta.
        client = Comunicador(serialName)

        #imagem = input("Coloque o endereço da imagem que deseja enviar: ")
        imagem = "./imageB.png"


        # print("-------------------------")
        # print("TESTANDO ERRO NO TAMANHO DO PAYLOAD")
        # print("-------------------------")





        print("-------------------------")
        print("Checking server avalability")
        print("-------------------------")




        onlineCheck = True
        while onlineCheck == True:
            client.sendHS()
            print("Esperando resposta do servidor")
            print("-------------------------")
            time.sleep(2)
            if client.com.rx.getIsEmpty() == True:
                x = input("Sem resposta. Enviar Novamente (Y/N)")
                if x == "N":
                    onlineCheck = False
            else:
                client.getHead()
                client.getEop()
                if client.hs_response == 1:
                    onlineCheck = True
                    
                    # Log
                    print("Comunicação inicializada")
                    print("-------------------------")

                    print("-------------------------")
                    print ("Carregando imagem para transmissão :")
                    print("-------------------------")
                    
                    data = Arquivo(imagem)
                    dividedPackages = data.setPacotes()
                    
                    print("-------------------------")
                    print ("Imagem Pronta para ser enviada:")
                    print("-------------------------")

                    indexPackageToBeSent = 0

                    while(indexPackageToBeSent < data.total_payloads ):
                        client.sendPackage(dividedPackages[indexPackageToBeSent])
                        client.getHead()
                        client.getEop()
                        if client.acknolage_confirmartion == 1:
                            indexPackageToBeSent = client.error_package
                            print("-------------------------")
                            print("Erro no", indexPackageToBeSent)
                            print("Enviando novamente")
                            print("-------------------------")
                        else:
                            print("Pacote {} de {}  enviado".format(indexPackageToBeSent, client.nPackage))
                            indexPackageToBeSent += 1
                    onlineCheck = False
                    

            
        # Encerra comunicação
        print("-------------------------")
        print("Comunicação Finalizada")
        print("-------------------------")
        client.end()
    except:
        print("ops! :-\\")
        client.com.disable()