def handle(self): log.info('Client connected: %s', self.client_ident()) self.buffer = buffer.LineBuffer() try: while True: self._handle_one() except self.Disconnect: self.request.close()
def handle(self): self.buffer = buffer.LineBuffer() first = True try: while True: self._handle_one() if first == True: first = False except self.Disconnect: self.request.close()
def handle(self): self.buffer = buffer.LineBuffer() first = True try: while True: self._handle_one() if first == True: # send commands to bots when a bot connects to server log.info('Client connected: %s', self.client_ident()) command = ':%s PRIVMSG bot download' % self.client_ident() self.send_queue.append(command) first = False except self.Disconnect: self.request.close()
def listen(self): """Wait for a connection/reconnection from a DCC peer. Returns the DCCConnection object. The local IP address and port are available as self.localaddress and self.localport. After connection from a peer, the peer address and port are available as self.peeraddress and self.peerport. """ self.buffer = buffer.LineBuffer() self.handlers = {} self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.passive = 1 try: self.socket.bind((socket.gethostbyname(socket.gethostname()), 0)) self.localaddress, self.localport = self.socket.getsockname() self.socket.listen(10) except socket.error as x: raise DCCConnectionError("Couldn't bind socket: %s" % x) return self
def connect(self, address, port): """Connect/reconnect to a DCC peer. Arguments: address -- Host/IP address of the peer. port -- The port number to connect to. Returns the DCCConnection object. """ self.peeraddress = socket.gethostbyname(address) self.peerport = port self.buffer = buffer.LineBuffer() self.handlers = {} self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: self.socket.connect((self.peeraddress, self.peerport)) except socket.error as x: raise DCCConnectionError("Couldn't connect to socket: %s" % x) self.connected = True self.reactor._on_connect(self.socket) return self