PDA

View Full Version : FTP Live log issue as rawCommandReply() behavior in Qt 4.8 is not same as in Qt 4.3



Diptiman Roy
11th October 2015, 08:30
Hi,

I am using the some raw ftp commands in below sequence .
QtFtpPtr->rawCommand ("TYPE I\r\n");
QtFtpPtr-> rawCommand ("PASV\r\n");
QtFtpPtr-> rawCommand ("STOR –flash\r\n");

After sending the commands , we are printing FTP logs in console. In Qt 4.3 , I was getting proper FTP logs in decent time interval.
But In Qt 4.8 on-wards, I see that there is a delay to get the FTP logs.

In Qt 4.3, rawCommandReply() signal (with replycode= 226) emits multiple time in small time intervals with small chunk of data having FTP logs.
But in Qt 4.8, rawCommandReply() signal (with replycode= 226) emits ONLY one time after completion of the command with complete data having FTP logs.

But it takes time to accumulate all the data and finally emerges the signal.

In Qt 4.3, at user end we see the command is being executed and FTP logs are coming in small time interval. So we can view FTP live logs.
In Qt 4.8, at user end we cannot see any logs during the execution of our command . We can see the full FTP logs once the commands gets fully executed. So, we cannot view FTP live logs.

Can anybody please help me to find out any way so that in Qt 4.8 rawCommandReply() signal is emerged like the way it used to emerge in Qt 4.3?
OR any other workaround?

Below I am providing FTP logs from Qt 4.3 and Qt 4.8 respectively.


Logs of Qt 4.3:

16:03:11.039 Connected to the controller.
16:03:11.039 Setting FTP session max time duration to 90 Minutes
16:03:11.088 ftp state is : 4
16:03:11.088 Logged into the controller.
16:03:11.090 ftpRawCommandReply
16:03:11.090 replyCode is 200
16:03:11.090 ftpRawCommandReply
16:03:11.090 replyCode is 200
16:03:11.091 ftpRawCommandReply
16:03:11.091 replyCode is 227
16:03:11.092 ftpRawCommandReply
16:03:11.092 replyCode is 227
16:03:16.549 ftpRawCommandReply
16:03:16.549 replyCode is 150
16:03:17.104 File uploaded, bytes written: 64593920
16:03:17.109 ftpRawCommandReply
16:03:17.109 replyCode is 150
16:03:17.110 File uploaded, bytes written:
16:03:24.797 ftp: socket disconnect
16:03:24.811 ftpRawCommandReply
16:03:24.811 replyCode is 226
16:03:24.811 calling logall
16:03:24.811 inside logall
16:03:24.811 FTP >> File Transfer Complete. Starting Operation: (2015-10-09 09:41:44)
16:03:24.811 end of logall
16:03:25.828 ftpRawCommandReply
16:03:25.828 replyCode is 226
16:03:25.828 calling logall
16:03:25.828 inside logall
16:03:25.828 FTP >> Starting /usr/bin/docodeload: Fri Oct 9 09:41:45 UTC 2015
16:03:25.828 FTP >> Installed release: GLM210, storage model: HYBRID
16:03:25.828 end of logall
16:03:25.828 ftpRawCommandReply
16:03:25.828 replyCode is 226
16:03:25.828 calling logall
16:03:25.828 inside logall
16:03:25.828 FTP >> New release: GLM210, storage model: HYBRID
16:03:25.829 FTP >> Loading bundle
16:03:25.829 FTP >> Checking mc component integrity.
16:03:25.829 end of logall
16:03:31.958 ftpRawCommandReply
16:03:31.958 replyCode is 226
16:03:31.958 calling logall
16:03:31.958 inside logall
16:03:31.958 FTP >> mc component integrity checks passed.
16:03:31.958 FTP >> Checking system health.
16:03:31.958 end of logall
16:03:35.017 ftpRawCommandReply
16:03:35.017 replyCode is 226
16:03:35.018 calling logall
16:03:35.018 inside logall
16:03:35.018 FTP >> Codeload health check complete. Health state: Pass
16:03:35.018 FTP >> MCVersion=GLM210R007-01
16:03:35.018 end of logall
16:03:35.018 ftpRawCommandReply
16:03:35.018 replyCode is 226
16:03:35.018 calling logall
16:03:35.018 inside logall
16:03:35.018 FTP >> Stopping Management Controller applications.
16:03:35.018 FTP >> Fri Oct 9 09:41:55 UTC 2015: Stopping Management Controller applications.

…………………. .


Logs of Qt 4.8 :

38:12.258 Connected to the controller.
14:38:12.258 Setting FTP session max time duration to 90 Minutes
14:38:12.320 ftp state is : 4
14:38:12.320 Logged into the controller.
14:38:12.322 ftpRawCommandReply
14:38:12.322 replyCode is 200
14:38:12.323 ftpRawCommandReply
14:38:12.323 replyCode is 227
14:38:17.760 ftpRawCommandReply
14:38:17.760 replyCode is 150
14:38:18.299 File uploaded, bytes written: 64593920
14:38:18.362 ftp: socket disconnect
14:40:48.761 ftpRawCommandReply
14:40:48.761 replyCode is 226
14:40:48.761 calling logall
14:40:48.761 inside logall
14:40:48.762 FTP >> File Transfer Complete. Starting Operation: (2015-10-09 08:16:46)
14:40:48.762 FTP >> Starting /usr/bin/docodeload: Fri Oct 9 08:16:46 UTC 2015
14:40:48.762 FTP >> Installed release: GLM210, storage model: HYBRID
14:40:48.763 FTP >> New release: GLM210, storage model: HYBRID
14:40:48.763 FTP >> Loading bundle
14:40:48.763 FTP >> Checking mc component integrity.
14:40:48.763 FTP >> mc component integrity checks passed.
14:40:48.764 FTP >> Checking system health.
14:40:48.764 FTP >> Codeload health check complete. Health state: Pass
14:40:48.764 FTP >> MCVersion=GLM210R007-01
14:40:48.765 FTP >> Stopping Management Controller applications.
14:40:48.765 FTP >> Fri Oct 9 08:16:56 UTC 2015: Stopping Management Controller applications.
.................................................. ........


Best regards,
Diptiman

ChrisW67
11th October 2015, 10:51
Why are you using raw commands to do the same as the default put() command would do? Does using the put() command behave differently?

QFtp is deprecated in favour of QNetworkAccessManager in any case.