Exemple #1
0
ICQServerSocket::ICQServerSocket(unsigned short minPort, unsigned short maxPort)
{
#ifdef HAVE_KEXTSOCK_H
    sock = new KExtendedSocket;
    connect(sock, SIGNAL(readyAccept()), this, SLOT(activated()));
    for (m_nPort = minPort; m_nPort <= maxPort; m_nPort++){
        sock->reset();
        sock->setBlockingMode(false);
        sock->setSocketFlags(KExtendedSocket::passiveSocket);
        sock->setPort(m_nPort);
        if (sock->listen() == 0)
            break;
    }
    if (m_nPort > maxPort){
        delete sock;
        sock = NULL;
        return;
    }
#else
    sn = NULL;
    sock = new QSocketDevice;
    for (m_nPort = minPort; m_nPort <= maxPort; m_nPort++){
        if (sock->bind(QHostAddress(), m_nPort))
            break;
    }
    if ((m_nPort > maxPort) || !sock->listen(50)){
        delete sock;
        sock = NULL;
        return;
    }
    sn = new QSocketNotifier(sock->socket(), QSocketNotifier::Read, this);
    connect(sn, SIGNAL(activated(int)), this, SLOT(activated(int)));
#endif
}
Exemple #2
0
bool DccTransferRecv::startListeningForSender()
{
    // Set up server socket
    QString failedReason;
    if ( Preferences::dccSpecificSendPorts() )
        m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason, Preferences::dccSendPortsFirst(), Preferences::dccSendPortsLast() );
    else
        m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason );
    if ( !m_serverSocket )
    {
        failed( failedReason );
        return false;
    }

   connect( m_serverSocket, SIGNAL( readyAccept() ),   this, SLOT( slotServerSocketReadyAccept() ) );
   connect( m_serverSocket, SIGNAL( gotError( int ) ), this, SLOT( slotServerSocketGotError( int ) ) );

    return true;
}