class Teste_Servidor(unittest.TestCase):
    
    def testeAdicionaUmServidor(self):
        self.servidor = Servidor("001", "Servidor Unix", 500, 4, 200, 10)
        self.servidor.codPatrimonio |should| equal_to("001")
        self.servidor.descricao |should| equal_to("Servidor Unix")
        self.servidor.hd |should| equal_to(500)
        self.servidor.memoria |should| equal_to(4)
        self.servidor.tamanhoBuffer |should| equal_to(200)
        self.servidor.quantidadeBuffer |should| equal_to(10)
        self.servidor.impressoras = ["001", "002", "003"]
        self.servidor.impressoras |should| equal_to(["001", "002", "003"])
    
    def testeArmazenaServidores(self):
        self.testeAdicionaUmServidor()
        self.servidor.todosServidores[0].codPatrimonio |should| equal_to("001")
        self.servidor.todosServidores[0].descricao |should| equal_to("Servidor Unix")
        self.servidor.todosServidores[0].hd |should| equal_to(500)
        self.servidor.todosServidores[0].memoria |should| equal_to(4)
        self.servidor.todosServidores[0].tamanhoBuffer |should| equal_to(200)
        self.servidor.todosServidores[0].quantidadeBuffer |should| equal_to(10)
        self.servidor.todosServidores[0].impressoras |should| equal_to(["001", "002", "003"])
        
    def testeVerificaImpressorasConectadasaoServidor(self):
        self.testeAdicionaUmServidor()
        testeAchou = self.servidor.verificaImpressorasConectadasaoServidor("003")
        testeAchou |should| equal_to(True)
 def testeAdicionaUmServidor(self):
     self.servidor = Servidor("001", "Servidor Unix", 500, 4, 200, 10)
     self.servidor.codPatrimonio |should| equal_to("001")
     self.servidor.descricao |should| equal_to("Servidor Unix")
     self.servidor.hd |should| equal_to(500)
     self.servidor.memoria |should| equal_to(4)
     self.servidor.tamanhoBuffer |should| equal_to(200)
     self.servidor.quantidadeBuffer |should| equal_to(10)
     self.servidor.impressoras = ["001", "002", "003"]
     self.servidor.impressoras |should| equal_to(["001", "002", "003"])
# -*- coding:utf-8 -*-

# Esse é o código responsável por gerar o servidor e os dispositivos.
# para modificar a criação dos dispositivos, modifique o
# arquivo "gerarDispositivos.py".
# O módulo "definicoes" possui as constantes referentes aos endereços de
# grupos multicasts, portas e endereços TCP utilizados por servidor e dispositivos.

import definicoes as d
from Servidor import Servidor
from gerarDispositivos import gerarDispositivos

server = Servidor(d.server_udp_host, d.server_udp_port, d.server_tcp_host,
                  d.server_tcp_port, d.disp_host, d.disp_port)

server.start()

gerarDispositivos(d.disp_host, d.disp_port, d.server_udp_host,
                  d.server_udp_port)
class Chat(QtGui.QWidget):

	def __init__(self):
		super(Chat, self).__init__()
		self.initUI()

	def initUI(self):
		self.usuario, ok = QtGui.QInputDialog.getText(self,'Usuario','Ingresa Tu Nombre:')
		self.ipP, ok2 = QtGui.QInputDialog.getText(self, 'IP Personal','Ingresa tu direccion IP:')
		ipC, ok3 = QtGui.QInputDialog.getText(self, 'IP Servidor','Ingresa la direccion IP del servidor:')

		self.servidor = Servidor(self.ipP)
		self.cliente = Cliente(ipC)
		self.lista = self.conectarse()

		self.cont = QtGui.QTextEdit(self)
		self.cont.setText(self.lista)

		self.conv = QtGui.QTextEdit(self)
		self.conv.setText(self.servidor.conversacion)

		self.nuevaIP = QtGui.QTextEdit(self)

		self.msj = QtGui.QTextEdit(self)

		self.env = QtGui.QPushButton('Enviar', self)
		self.env.clicked.connect(self.enviar)

		self.act = QtGui.QPushButton('Actualizar', self)
		self.act.clicked.connect(self.mostrar)

		self.audio = QtGui.QPushButton('Audio', self)
		self.audio.clicked.connect(self.mandarAudio)

		self.video = QtGui.QPushButton('Video', self)
		self.video.clicked.connect(self.mandarVideo)

		self.actC = QtGui.QPushButton('Refrescar', self)
		self.actC.clicked.connect(self.refrescar)

		self.cambiarIP = QtGui.QPushButton('Cambiar IP', self)
		self.cambiarIP.clicked.connect(self.cambiarCliente)

		self.cerrar = QtGui.QPushButton('Cerrar Sesion', self)
		self.cerrar.clicked.connect(self.cerrarS)

		hbox = QtGui.QHBoxLayout()
		hbox.addStretch(1)

		vbox = QtGui.QVBoxLayout()
		vbox.addStretch(1)

		vbox2 = QtGui.QVBoxLayout()
		vbox2.addStretch(1)

		vbox.addWidget(self.conv,20)

		grid = QtGui.QGridLayout()
		grid.addWidget(self.msj,0,0)
		grid.addWidget(self.env,0,1)
		grid.addWidget(self.audio,1,1)		
		grid.addWidget(self.act,1,0)
		grid.addWidget(self.video,2,0)

		vbox.addLayout(grid,5)
		vbox2.addWidget(self.cont,6)
		vbox2.addWidget(self.actC)
		vbox2.addWidget(self.nuevaIP,2)
		vbox2.addWidget(self.cambiarIP)
		vbox2.addWidget(self.cerrar)

		hbox.addLayout(vbox)
		hbox.addLayout(vbox2)

		self.setLayout(hbox)

		self.setGeometry(100, 100, 600, 600)
		self.setWindowTitle('Chat')
		self.setWindowIcon(QtGui.QIcon('yahoo_chat.png'))
		self.show()

	def conectarse(self):
		return self.cliente.conectarse(self.ipP,self.usuario)

	def mostrar(self):
		self.conv.setText(self.servidor.conversacion)

	def mandarAudio(self):
		m = self.cliente.grabarAudio()
		self.cliente.enviarAudio(m)

	def mandarVideo(self):
		self.cliente.graba()

	def refrescar(self):
		self.lista = self.cliente.actualizarC(self.ipP)
		self.cont.setText(self.lista)

	def cambiarCliente(self):
		self.cliente.cambiarDireccion(str(self.nuevaIP.toPlainText()))

	def cerrarS(self):
		self.cliente.desconectarse(self.ipP)

	def enviar(self):
		m = str(self.msj.toPlainText())
		exito = self.cliente.enviar(m,self.usuario)
		if exito:
			self.servidor.agregarM(m,self.usuario)
			self.conv.setText(self.servidor.conversacion)
			self.msj.clear()
Beispiel #5
0
	def __init__(self):
		Servidor.__init__(self)
		self.slots = 4
		self.slots_ocupados = 2
		self.memorias = 4
		self.memoria_ocupadas = 2
Beispiel #6
0
from Cliente import Cliente
from Servidor import Servidor
from Mensagem import Mensagem

s = Servidor('gmail')
c = Cliente('Josimar', '123456', s)

s.cadastrarCliente(c)
c = Cliente('Yohane', '345678', s)
s.cadastrarCliente(c)
m = Mensagem('Josimar', 'Yohane', 'Aula do Menezes', \
             'Yohane, hoje a aula vai ser maneira!!!!!')
s.receberMensagem(m, '123456')  #senha correta
print("Primeiro envio: tamanho da lista = ", len(s.getMensagens()))

s.receberMensagem(m, '123')  #senha errada
print("Segundo envio: tamanho da lista = ", len(s.getMensagens()))

print('Verificando a mensagen não lida da Yohane:')
print(s.retornarNovaMensagem('Yohane', '345678'))

print('Verificando novamente:')
print(s.retornarNovaMensagem('Yohane', '345678'))

print(s.retornarMensagem("indice", 'Josimar', '123456'))
	def initUI(self):
		self.usuario, ok = QtGui.QInputDialog.getText(self,'Usuario','Ingresa Tu Nombre:')
		self.ipP, ok2 = QtGui.QInputDialog.getText(self, 'IP Personal','Ingresa tu direccion IP:')
		ipC, ok3 = QtGui.QInputDialog.getText(self, 'IP Servidor','Ingresa la direccion IP del servidor:')

		self.servidor = Servidor(self.ipP)
		self.cliente = Cliente(ipC)
		self.lista = self.conectarse()

		self.cont = QtGui.QTextEdit(self)
		self.cont.setText(self.lista)

		self.conv = QtGui.QTextEdit(self)
		self.conv.setText(self.servidor.conversacion)

		self.nuevaIP = QtGui.QTextEdit(self)

		self.msj = QtGui.QTextEdit(self)

		self.env = QtGui.QPushButton('Enviar', self)
		self.env.clicked.connect(self.enviar)

		self.act = QtGui.QPushButton('Actualizar', self)
		self.act.clicked.connect(self.mostrar)

		self.audio = QtGui.QPushButton('Audio', self)
		self.audio.clicked.connect(self.mandarAudio)

		self.video = QtGui.QPushButton('Video', self)
		self.video.clicked.connect(self.mandarVideo)

		self.actC = QtGui.QPushButton('Refrescar', self)
		self.actC.clicked.connect(self.refrescar)

		self.cambiarIP = QtGui.QPushButton('Cambiar IP', self)
		self.cambiarIP.clicked.connect(self.cambiarCliente)

		self.cerrar = QtGui.QPushButton('Cerrar Sesion', self)
		self.cerrar.clicked.connect(self.cerrarS)

		hbox = QtGui.QHBoxLayout()
		hbox.addStretch(1)

		vbox = QtGui.QVBoxLayout()
		vbox.addStretch(1)

		vbox2 = QtGui.QVBoxLayout()
		vbox2.addStretch(1)

		vbox.addWidget(self.conv,20)

		grid = QtGui.QGridLayout()
		grid.addWidget(self.msj,0,0)
		grid.addWidget(self.env,0,1)
		grid.addWidget(self.audio,1,1)		
		grid.addWidget(self.act,1,0)
		grid.addWidget(self.video,2,0)

		vbox.addLayout(grid,5)
		vbox2.addWidget(self.cont,6)
		vbox2.addWidget(self.actC)
		vbox2.addWidget(self.nuevaIP,2)
		vbox2.addWidget(self.cambiarIP)
		vbox2.addWidget(self.cerrar)

		hbox.addLayout(vbox)
		hbox.addLayout(vbox2)

		self.setLayout(hbox)

		self.setGeometry(100, 100, 600, 600)
		self.setWindowTitle('Chat')
		self.setWindowIcon(QtGui.QIcon('yahoo_chat.png'))
		self.show()
Beispiel #8
0
from Servidor import Servidor

s = Servidor()
s.iniciar_servidor_tcp('127.0.0.1', 2333)
Beispiel #9
0
    if(orden == 'salir'):
        seguir = False
        servidor.terminate()
        cliente.terminate()
        #p1.terminate()
        break
    elif(orden == 'top'):
        if top:
            top = False
        else:
            top = True
    elif(orden == "conectar" and not conectado):
        op = raw_input("Elige modo: \n [1] Servidor     \n [2] Cliente\n")
        if int(op) == 1:
            servidor = Servidor(9000,'localhost',1)
            servidor.run()
            conectado = True
        elif int(op) == 2:
            cliente = Cliente(9000,'localhost')
            cliente.run()
            conectado = True
            es_cliente = True
        else:
            pass
    elif(orden == "desconectar" and conectado):
        enviar_comando("desconectar")
        if es_cliente:
            cliente.finalizarconexion()
            cliente = None
            conectado = False
Beispiel #10
0
#!/usr/bin/python3
from Cliente import Cliente
from Servidor import Servidor

resp = input("¿Desea ser servidor? (s/n): ")

if resp.lower().startswith('s') :
	servidor = Servidor()
	servidor.start()
	servidor.join()
else:
	ip = input("Escriba la IP a conectarse: ")
	cliente = Cliente(ip)
	cliente.start()
	cliente.join()
Beispiel #11
0
mail.settings.sender = '*****@*****.**'  # your email
mail.settings.login = '******' + emailPass  # your credentials or None

current.mail = mail

# Se a requisição for local, utiliza base auth de teste, caso contrário, utiliza LDAP

from gluon.contrib.login_methods.ldap_auth import ldap_auth
auth.settings.login_methods = [
    ldap_auth(mode='uid',
              server='10.224.16.100',
              base_dn='ou=people,dc=unirio,dc=br')
]

from Servidor import Servidor
db.auth_user.username.label = 'CPF'
auth.settings.actions_disabled = [
    'register', 'retrieve_username', 'remember_me', 'profile',
    'change_password', 'request_reset_password'
]

auth.settings.remember_me_form = False
# login_next Não está funcionando e segundo a documentação, deveria funcionar
auth.settings.login_next = URL('default', 'mensagem')
# Faço o redirect para URL acima, no método abaixo
auth.settings.login_onaccept = Servidor().getDadosToSession()

current.auth = auth

piwik_host = '200.156.24.35'
piwik_idSite = 1
Beispiel #12
0
    def processa(self):
        tempoAtual = 0
        tempoOcioso = 0
        i = 0

        serv1 = Servidor()
        serv2 = Servidor()

        for c in self.clientes:
            i += 1
            print(f"Cliente num.{i}")
            print(c)

            if tempoAtual == serv1.tempoFimAtendimentoAtual:
                serv1.libera()
            if tempoAtual == serv2.tempoFimAtendimentoAtual:
                serv2.libera()

            if tempoAtual < c.t_chegada:
                if not serv1.ocupado:
                    print(
                        f"servidor 1 ficou ocioso por {c.t_chegada - tempoAtual} minutos"
                    )
                if not serv2.ocupado:
                    print(
                        f"servidor 2 ficou ocioso por {c.t_chegada - tempoAtual} minutos"
                    )
                tempoOcioso += c.t_chegada - tempoAtual
                tempoAtual = c.t_chegada

            if not serv1.ocupado:
                c.t_fila = tempoAtual - c.t_chegada
                c.t_atendimento = tempoAtual
                c.t_noSistema = c.t_atendimento + c.t_servico - c.t_chegada
                print("servidor 1 atende o cliente")
                serv1.atende(c)

            elif not serv2.ocupado:
                c.t_fila = tempoAtual - c.t_chegada
                c.t_atendimento = tempoAtual
                c.t_noSistema = c.t_atendimento + c.t_servico - c.t_chegada
                print("servidor 2 atende o cliente")
                serv2.atende(c)

            tempoAtual = min(serv1.tempoFimAtendimentoAtual,
                             serv2.tempoFimAtendimentoAtual)

            print(f"tempo de inicio do atendimento: {c.t_atendimento}")
            print(f"tempo de saida: {c.t_atendimento+c.t_servico}")
            print(f"tempo no sistema: {c.t_noSistema}\n")

        print(f"Tempo medio de ociosidade por servidor: {tempoOcioso/2.0}")
        print(
            f"Tempo medio no sistema por cliente: { mean([c.t_noSistema for c in self.clientes])}"
        )
        print(
            f"Tempo medio na fila por cliente: { mean([c.t_fila for c in self.clientes])}"
        )
        print(
            f"Tempo medio de servico por cliente: {mean([c.t_servico for c in self.clientes])}"
        )