Esempio n. 1
0
    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()
Esempio n. 3
0
 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()
Esempio n. 4
0
    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
Esempio n. 5
0
    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