zoukankan      html  css  js  c++  java
  • QT实现FTP服务器(一)

      QListenSocket类的实现:

    #include "QListenSocket.h"
    #include <QTcpSocket>
    #include <QDebug>
    
    /***********************************************************************************************
    *函数名 : QListenSocket
    *函数功能描述 : 析构函数
    *函数参数 : 无
    *函数返回值 : 无
    *作者 : nelson
    *函数创作日期 : 2016/3/3
    *函数修改日期 :
    *修改人 :
    *修改原因 :
    *版本 : 1.0
    *历史版本 : 无
    ***********************************************************************************************/
    QListenSocket::QListenSocket(QObject *parent,int port):QTcpServer(parent)
    {
        listen(QHostAddress::Any,port);
    }
    
    /***********************************************************************************************
    *函数名 : incomingConnection
    *函数功能描述 : 析构函数
    *函数参数 : 无
    *函数返回值 : 无
    *作者 : nelson
    *函数创作日期 : 2016/3/3
    *函数修改日期 :
    *修改人 :
    *修改原因 :
    *版本 : 1.0
    *历史版本 : 无
    ***********************************************************************************************/
    void QListenSocket::incomingConnection(int socketDescriptor)
    {
        QClientThread *tmp =new QClientThread(socketDescriptor,this);
    
        connect(tmp,SIGNAL(clientExit(QThread *)),this,SLOT(deleteClient(QThread *)));
        ClientList.append(tmp);
        tmp->start();
    }
    
    /***********************************************************************************************
    *函数名 : deleteClient
    *函数功能描述 :客户端退出的槽函数
    *函数参数 : 无
    *函数返回值 : 无
    *作者 : nelson
    *函数创作日期 : 2016/3/3
    *函数修改日期 :
    *修改人 :
    *修改原因 :
    *版本 : 1.0
    *历史版本 : 无
    ***********************************************************************************************/
    void QListenSocket::deleteClient(QThread *clt)
    {
        QClientThread *tmp =  (QClientThread *)clt;
    
        int ret = ClientList.indexOf(tmp);
        if(ret != -1)
        {
            ClientList.removeAt(ret);
        }
    
        //qDebug()<<"CLIENT COUNT"<<ClientList.count();
        delete tmp;
    }
    

      

  • 相关阅读:
    Oracle OCP 19c 认证1Z0-082考试题库(第1题)
    OCP 063中文考试题库(cuug内部资料)第6题
    OCP 062中文考试题库(cuug内部资料)第6题
    OCP 062中文考试题库(cuug内部资料)第5题
    OCP 071中文考试题库(cuug内部资料)第6题
    搜索
    Even Parity uva11464 模拟
    GCD hdu1695容斥原理
    Rectangles hdu2461容斥定理
    GCD XOR uvalive6657
  • 原文地址:https://www.cnblogs.com/kanite/p/5261858.html
Copyright © 2011-2022 走看看