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()
def __init__(self): Servidor.__init__(self) self.slots = 4 self.slots_ocupados = 2 self.memorias = 4 self.memoria_ocupadas = 2
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()
from Servidor import Servidor s = Servidor() s.iniciar_servidor_tcp('127.0.0.1', 2333)
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
#!/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()
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
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])}" )