• 7406阅读
  • 6回复

QFtp::put()问题 [复制链接]

上一主题 下一主题
离线collipes
 
只看楼主 正序阅读 楼主  发表于: 2011-12-01
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-12-01) —
苹果下用put函数上传大文件, 如果文件大于3G的话上传到一定的时间就会自动退出,请问这是什么原因?
离线toby520

只看该作者 6楼 发表于: 2012-10-17
期待5.0正式版本发布,解决了诸多Bug,省去开发者诸多麻烦
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线numen

只看该作者 5楼 发表于: 2012-10-17
qftp bug好像还不少呢,
他们提出的用 QNetworkAccessManager and QNetworkReply,这两个没法做直接实现ftp的啊,好麻烦
欢迎访问我的blog:
http://www.cnblogs.com/baizx
离线toby520

只看该作者 4楼 发表于: 2012-09-21
楼主 QFTP对大文件上传存在BUG,期待5.0的功能
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线collipes
只看该作者 3楼 发表于: 2011-12-05
我用QFtp已经做了蛮久了,并且任务时间也没有多少了,所以想继续用QFtp;
但是问题就是我问的那样,上传大文件的时候会出错,苹果下它占用了很多的内存,1~2G,下面是苹果下程序崩溃的返回部分信息

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib                 0x99a30f7e malloc_error_break + 6
1   libSystem.B.dylib                 0x99a32128 szone_error + 287
2   libSystem.B.dylib                 0x9993ce60 allocate_pages + 243
3   libSystem.B.dylib                 0x9993eda4 szone_malloc_should_clear + 3082
4   libSystem.B.dylib                 0x9993e148 malloc_zone_malloc + 81
5   libSystem.B.dylib                 0x9993c218 malloc + 50
6   QtCore                            0x00bd56f9 QByteArray::resize(int) + 233
7   QtNetwork                         0x00f9eede QRingBuffer::reserve(int) + 446
8   QtNetwork                         0x00f99814 QAbstractSocket::writeData(char const*, long long) + 228
9   QtCore                            0x00c0dd4c QIODevice::write(char const*, long long) + 140
10  QtNetwork                         0x00f0c858 QFtpDTP::writeData() + 120
11  QtNetwork                         0x00f0f5a8 QFtpDTP::qt_metacall(QMetaObject::Call, int, void**) + 360
12  QtCore                            0x00c24261 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 673
13  QtCore                            0x00d50f7a QIODevice::bytesWritten(long long) + 74
14  QtNetwork                         0x00f9bc07 QAbstractSocketPrivate::flush() + 1047
15  QtNetwork                         0x00f9bddd QAbstractSocketPrivate::canWriteNotification() + 29
16  QtNetwork                         0x00f89cdb QWriteNotifier::event(QEvent*) + 75
17  QtGui                             0x000f845c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 188
18  QtGui                             0x000ff69c QApplication::notify(QObject*, QEvent*) + 1180
19  QtCore                            0x00c1dc0c QCoreApplication::notifyInternal(QObject*, QEvent*) + 108
20  QtGui                             0x000b038a qt_mac_socket_callback(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 154
21  com.apple.CoreFoundation          0x9818dcb5 __CFSocketDoCallback + 325
22  com.apple.CoreFoundation          0x9818d7b7 __CFSocketPerformV0 + 311
23  com.apple.CoreFoundation          0x981474cb __CFRunLoopDoSources0 + 1563
24  com.apple.CoreFoundation          0x98144f8f __CFRunLoopRun + 1071
25  com.apple.CoreFoundation          0x98144464 CFRunLoopRunSpecific + 452
26  com.apple.CoreFoundation          0x98144291 CFRunLoopRunInMode + 97
27  com.apple.HIToolbox               0x97415e04 RunCurrentEventLoopInMode + 392
28  com.apple.HIToolbox               0x97415bb9 ReceiveNextEventCommon + 354
29  com.apple.HIToolbox               0x97415a3e BlockUntilNextEventMatchingListInMode + 81
30  com.apple.AppKit                  0x9294178d _DPSNextEvent + 847
31  com.apple.AppKit                  0x92940fce -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
32  com.apple.AppKit                  0x92903247 -[NSApplication run] + 821
33  QtGui                             0x000b1a41 QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1505
34  QtCore                            0x00d0b9e1 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65
35  QtCore                            0x00d0bd2a QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 170
36  QtCore                            0x00d0d186 QCoreApplication::exec() + 182
37  com.yourcompany.VxActrFtpTrans    0x00005c7b main + 2560 (main.cpp:74)
38  com.yourcompany.VxActrFtpTrans    0x00001ab9 start + 53

离线ppdayz

只看该作者 2楼 发表于: 2011-12-01
楼上正解
The QFtp class provides an implementation of the client side of FTP protocol.
This class provides a direct interface to FTP that allows you to have more control over the requests. However, for new applications, it is recommended to use QNetworkAccessManager and QNetworkReply, as those classes possess a simpler, yet more powerful API.
离线roywillow

只看该作者 1楼 发表于: 2011-12-01
记得QFtp已经被废除了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个