QT实现FTP服务器(一)
2024-10-19 19:57:26
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;
}
最新文章
- 可爱的Python_课后习题_CDay−5 Python 初体验和原始需求
- Samba快速配置
- MySql增删改查命令
- BZOJ 1036: [ZJOI2008]树的统计Count
- 完整的Ajax及三级联动小练习
- C++数据结构之Stack(栈)
- iis 支持html执行php输出
- 机器学习框架Scikit Learn的学习
- Spring SimpleJdbcTemplate batchUpdate() example
- UVa 10054 The Necklace BFS+建模欧拉回路
- (转载)vsftpd简易配置
- iOS判断当前控制器是否正在显示
- log4j:ERROR Could not find value for key log4j.appender.error
- WebStorm 2017 最新版激活方式
- python day2 练习题
- 【keras】用tensorboard监视CNN每一层的输出
- 解决genymotion-arm-translation.zip无法拖拽安装的问题
- [C语言]使用函数
- Java编程的逻辑 (11) - 初识函数
- 多个 Word 文档合并为一个
热门文章
- JConsole手册
- Lucas 卢卡斯定理
- ElasticSearch中Filter和Query的异同
- 如何用Eclipse将普通的JavaWeb项目转为Maven项目
- PatentTips - Write Combining Buffer for Sequentially Addressed Partial Line Operations
- shell的while/for脚本的简单入门
- HDU 4920 Matrix multiplication(bitset优化)
- 关于xshell无法连接到centos的问题
- LOJ#3083.「GXOI / GZOI2019」与或和_单调栈_拆位
- ROS之:log文件