Exemplo n.º 1
0
                self._send_bytes += self._sock.send(self._buffer[self._send_bytes:])
                if self._send_bytes == len(self._buffer):
                    break
            except socket.error as e:
                if e[0] == errno.EWOULDBLOCK:
                    return True
                print(e)
                break
        self._buffer = None
        self._send_bytes = 0
        return False

    def handle_close(self, handle, mask):
        print("handle close")
        super(Echo, self).handle_close(handle, mask)

if __name__ == '__main__':
    g_reactor = Reactor()
    if not g_reactor.open():
        print("reactor open failed")
    
    if sys.argv[1] == 'server':
        g_acceptor = Acceptor(Echo)
        g_acceptor.open(("127.0.0.1", 8008), g_reactor)
    elif sys.argv[1] == 'client':
        g_connector = Connector()
        g_connector.open(g_reactor)
        g_connector.connect(Echo('client'), ("127.0.0.1", 8008), 5)

    g_reactor.reactor_event_loop()