Hi,

I have just isolated the problem. 

In program B i’m also using libimobiledevice to browse for attached iOS 
devices. 

The functions that establishes a callback for devices attach/detach notifying 
was causing the stall. 

I think I will need to move this object to a different thread.

Nuno

> On 24 Apr 2015, at 15:24, Nuno Santos <nunosan...@imaginando.pt> wrote:
> 
> Well, 
> 
> I was just trying to create an small example to send to the list and it 
> didn’t show the problem.
> 
> I think I have just found the problem. The B program I mentioned has Bonjour 
> browsing service implemented by a really old Qt project 
> BonjourServiceRegister. 
> 
> I have commented it out and the problem disappeared. I don’t know why, but it 
> seems that Bonjour Service Register is provoking this stall. Can anyone guess 
> why? 
> 
> Does anyone know any more recent Qt wrapper for dns_sd?
> 
> Regards,
> 
> Nuno Santos
> Founder / CEO / CTO
> www.imaginando.pt <http://www.imaginando.pt/>
> +351 91 621 69 62
> 
>> On 24 Apr 2015, at 13:11, Klank, Michael <michael.kl...@amk-antriebe.de 
>> <mailto:michael.kl...@amk-antriebe.de>> wrote:
>> 
>> We had the same problem.
>> setSocketOption(QAbstractSocket::LowDelayOption, 1); solved the problem
>> 
>> Von: interest-bounces+michael.klank=amk-antriebe...@qt-project.org 
>> <mailto:interest-bounces+michael.klank=amk-antriebe...@qt-project.org> 
>> [mailto:interest-bounces+michael.klank=amk-antriebe...@qt-project.org 
>> <mailto:interest-bounces+michael.klank=amk-antriebe...@qt-project.org>] Im 
>> Auftrag von Nuno Santos
>> Gesendet: Freitag, 24. April 2015 13:24
>> An: Andre Barth
>> Cc: Interests Qt
>> Betreff: Re: [Interest] Q(Tcp/Udp)Socket stall
>> 
>> This happens, even with Wifi turned off.
>> 
>> Nuno
>> 
>> On 24 Apr 2015, at 12:18, Andre Barth <andre.ba...@autodesk.com 
>> <mailto:andre.ba...@autodesk.com>> wrote:
>> 
>> Are you on Wifi (only)?
>> 
>> We did run into similar issues on 5.3.2 (but I don't know whether this is 
>> related to your problem, too): The reason for our problem was/is, that ...
>> 
>> "...it looks as if Qt’s “Network Configuration Manager” was polling the Wifi 
>> engine every 10 seconds for available networks.
>> 
>> This in turn will call Windows’ WlanScan function which “… requests a scan 
>> for available networks on the indicated interface…”
>> (see qnativewifiengine::requestUpdate, line 517) "
>> 
>> Could be right, could be wrong - but this is what I've seen.
>> 
>> Thanks,
>> Andre
>> 
>> -----Original Message-----
>> From: interest-bounces+andre.barth=autodesk....@qt-project.org 
>> <mailto:interest-bounces+andre.barth=autodesk....@qt-project.org> 
>> [mailto:interest-bounces+andre.barth=autodesk....@qt-project.org 
>> <mailto:interest-bounces+andre.barth=autodesk....@qt-project.org>] On Behalf 
>> Of Nuno Santos
>> Sent: Friday, April 24, 2015 1:01 PM
>> To: Interests Qt
>> Subject: [Interest] Q(Tcp/Udp)Socket stall
>> 
>> Hi,
>> 
>> I have passed the last 48 hours trying to understand a problem I was having 
>> with sockets. I was driving crazy but I think I finally reached a 
>> conclusion. Let me summarize:
>> 
>> - Program A that sends data via sockets to localhost
>> - Program B, built in Qt, receives data via QUdpSocket (I have also tried 
>> with QTcpSocket and the problem is the same).
>> 
>> Program A sends constant size messages (76 bytes) each 60 ms.
>> Program B receives the message and prints the latency between the current 
>> message and the last message.
>> 
>> The result is the following:
>> 
>> latency 19
>> latency 60
>> latency 60
>> latency 60
>> latency 51
>> latency 59
>> latency 80
>> latency 61
>> latency 60
>> latency 58
>> latency 50
>> latency 60
>> latency 59
>> latency 538
>> latency 0
>> latency 43
>> latency 58
>> latency 62
>> latency 79
>> latency 50
>> latency 50
>> latency 61
>> latency 61
>> latency 58
>> latency 60
>> latency 80
>> latency 31
>> latency 59
>> latency 1946
>> latency 0
>> latency 54
>> latency 61
>> latency 49
>> latency 59
>> latency 52
>> latency 60
>> latency 58
>> latency 60
>> latency 60
>> latency 60
>> latency 60
>> latency 60
>> latency 51
>> latency 533
>> latency 0
>> latency 16
>> latency 60
>> latency 60
>> latency 60
>> latency 50
>> latency 60
>> latency 61
>> latency 60
>> latency 59
>> 
>> From time to time, in a pretty much regular way, the message receiving 
>> stalls and the latency is printed as being around 500ms/1000ms/2000ms.
>> 
>> Even the interval between stalls is pretty much regular, around 14 packets. 
>> Each packet is 76 bytes, which multiplied by 14 gives around 1024.
>> 
>> I didn’t rest while I couldn’t who the fault was. So I did a C program that 
>> receives data on a socket from the same source to ensure that there was no 
>> stalls or latency. The result was NO STALLS.
>> 
>> Then, I have done another program, this time built in Qt, to send data via 
>> QUdpSocket to the program B. The result was: STALLS again!
>> 
>> My conclusion is that somewhere in the underlying Qt socket handling, there 
>> is a buffer, to be filled before readyRead is sent.
>> 
>> Is anybody familiar with this problem and know how to work around it? Is 
>> this a setting that can be tweaked?
>> 
>> This doesn’t seem normal or acceptable.
>> 
>> Thx,
>> 
>> Regards,
>> 
>> Nuno Santos
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org <mailto:Interest@qt-project.org>
>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 
>> ________________________________
>> 
>> Persönlich haftende Gesellschafterin: AMK Verwaltungsgesellschaft mbH, 
>> Kirchheim/Teck
>> Geschäftsführer: Dr. Thomas Lützenrath, Jochen Breßmer, Dr. Ulrich Viethen
>> Registergericht Stuttgart HRB 230208; HRA 230681
>> 
>> Die in dieser E-Mail enthaltenen Informationen sind vertraulich. Diese 
>> E-Mail ist ausschließlich für den Adressaten bestimmt und jeglicher Zugriff 
>> durch andere Personen ist nicht zulässig. Falls Sie nicht der beabsichtigte 
>> Empfänger sind, ist jegliche Veröffentlichung, Vervielfältigung, Verteilung 
>> und sonstige in diesem Zusammenhang stehende Handlung untersagt und unter 
>> Umständen ungesetzlich. Falls Sie diese E-Mail irrtümlich erhalten haben, 
>> leiten Sie sie bitte weiter an die folgende E-Mail-Adresse: 
>> i...@amk-antriebe.de
>> 
>> The information in this e-mail is confidential. It is intended solely for 
>> the address and access to the e-mail by anyone else is unauthorised. If you 
>> are not the intended recipient, any disclosure, copying, distribution or any 
>> action taken or committed to be taken in reliance on it, is prohibited and 
>> may be unlawful. If you have received this e-mail in error please forward to 
>> this e-mail-address: i...@amk-antriebe.de
>> 
> 
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to