Ir para conteúdo
Fórum Script Brasil

gameower

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre gameower

gameower's Achievements

0

Reputação

  1. E aí pessoal, beleza?? Comecei a trabalhar agora com python, e tenho como tarefa fazer um simples comunicador, com um servidor e varios clientes, para que isso seja acoplado a um codigo maior posteriormente, mas estou com um pequeno probema, não consigo entender por que o seguinte codigo, entra em lopp infinito quando um cliente se desconecta sem ser por digitar "exit" (Ctrl + C no terminal por exemplo), alguém sabe me explicar por que a função handle_close() não está fazendo o que deveria, ou se eu que não entendi bem o que ela faz? Obrigado! #!/usr/bin/env python import asyncore import socket class EchoHandler(asyncore.dispatcher_with_send): def handle_read(self): try: data = self.recv(1024) except: handle_close(self) if data== 'exit' : self.close() print ('Client off 1') else: self.send(data) def handle_close(self): print('Cliente off 2') self.close() return 1 class EchoServer(asyncore.dispatcher): def __init__(self, host, port): asyncore.dispatcher.__init__(self) self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.set_reuse_addr() self.bind((host, port)) self.listen(5) def handle_accept(self): pair = self.accept() if pair is None: pass else: sock, addr = pair print 'Incoming connection from %s' % repr(addr) handler = EchoHandler(sock) server = EchoServer('localhost', 8083) asyncore.loop()
×
×
  • Criar Novo...