資源簡介
QT開發(fā)的視頻采集并定時上傳到服務(wù)器例程
使用到了OpenCV庫函數(shù)

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?“ftpput.h“
FtpPut::FtpPut(Qobject?*parent)
????:?Qobject(parent)
{
????iTimeOutSeconds?=?10;
????connect(&ftp?SIGNAL(commandStarted(int))?this?SLOT(ftpCommandStarted(int)));
????connect(&ftp?SIGNAL(commandFinished(int?bool))?this?SLOT(ftpCommandFinished(int?bool)));
????connect(&ftp?SIGNAL(stateChanged(int))?this?SLOT(ftpStateChanged(int)));
????connect(&ftp?SIGNAL(done(bool))?this?SLOT(ftpDone(bool)));
}
bool?FtpPut::connectServer(const?QUrl?&url?QString?userName?QString?passWord)
{
????int?iCount;
????if?(!url.isValid())
????{
????????std::cerr?<“Error:?Invalid?URL“?<????????return?false;
????}
????if?(url.scheme()?!=?“ftp“)
????{
????????std::cerr?<“Error:?URL?must?start?with?‘ftp:‘“?<????????return?false;
????}
????iCount?=?0;
????idFtpConnect?=?ftp.connectToHost(url.host()?url.port(21));
????while(iFtpState?!=?1)
????{
????????if?(iFtpState?0)
????????????return?false;
????????QTest::qWait(100);
????????iCount++;
????????if(iCount?>?iTimeOutSeconds*10)
????????{
????????????iFtpState?=?-10;
????????????std::cerr?<“Error:?timeout!“?<????????}
????}
????//?ftp.login();
????iCount?=?0;
????idFtpLogin?=?ftp.login(userName?passWord);
????while(iFtpState?!=?2)
????{
????????if?(iFtpState?0)
????????????return?false;
????????QTest::qWait(100);
????????iCount++;
????????if(iCount?>?iTimeOutSeconds*10)
????????{
????????????iFtpState?=?-10;
????????????std::cerr?<“Error:?timeout!“?<????????}
????}
????iCount?=?0;
????idFtpSetTransferMode?=?ftp.setTransferMode(QFtp::Active);
????while(iFtpState?!=?3)
????{
????????if?(iFtpState?0)
????????????return?false;
????????QTest::qWait(100);
????????iCount++;
????????std::cerr?<“Time?takes:?“?<????????if(iCount?>?iTimeOutSeconds*10)
????????{
????????????iFtpState?=?-10;
????????????std::cerr?<“Error:?timeout!“?<????????}
????}
????return?true;
}
bool?FtpPut::disconnectServer()
{
????int?iCount;
????iCount?=?0;
????idFtpClose?=?ftp.close();
????while(iFtpState?!=?6)
????{
????????if?(iFtpState?0)
????????????return?false;
????????QTest::qWait(100);
????????iCount++;
????????if(iCount?>?iTimeOutSeconds*10)
????????{
????????????iFtpState?=?-10;
????????????std::cerr?<“Error:?timeout!“?<????????}
????}
????return?true;
}
bool?FtpPut::changeDir(QString?dstPath)
{
????int?iCount;
????iCount?=?0;
????idFtpCD?=?ftp.cd(dstPath);
????while(iFtpState?!=?4)
????{
????????if?(iFtpState?0)
????????????return?false;
????????QTest::qWait(100);
????????iCount++;
????????if(iCount?>?iTimeOutSeconds*10)
????????{
????????????iFtpState?=?-10;
????????????std::cerr?<“Error:?timeout!“?<????????????return?false;
????????}
????}
????return?true;
}
bool?FtpPut::putFile(QString?localFileName?QString?dstFileName)
{
????int?iCount;
????file.setFileName(localFile
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????784??2013-05-13?17:13??GigeVideoSave\GigeVideoSave.pro
?????文件??????18941??2013-05-14?14:46??GigeVideoSave\GigeVideoSave.pro.user
?????文件???????3516??2013-08-02?11:26??GigeVideoSave\main.cpp
?????文件???????6944??2013-05-13?18:05??GigeVideoSave\ftpput.cpp
?????文件???????1157??2013-05-13?17:16??GigeVideoSave\ftpput.h
?????目錄??????????0??2013-05-12?20:38??GigeVideoSave
-----------?---------??----------?-----??----
????????????????31342????????????????????6
- 上一篇:TCP/UDP/ICMP/IGMP發(fā)包工具
- 下一篇:專門卸載軟件的工具
評論
共有 條評論