delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/03/26/02:59:57

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BF2B0385E006
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=dillinger.biz
Authentication-Results: sourceware.org;
spf=pass smtp.mailfrom=Raimund DOT Paulus AT dillinger DOT biz
From: "PAULUS, Raimund, TI-ABN" <Raimund DOT Paulus AT dillinger DOT biz>
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Subject: Re: Problems using Qt5 and Apache Thrift
Thread-Topic: Problems using Qt5 and Apache Thrift
Thread-Index: AdYDPAjvHAj/IWfmQAOHzmF2rqTc/w==
Date: Thu, 26 Mar 2020 06:59:03 +0000
Message-ID: <8fd3c9cc1ff04dd7bf5320a12d81a8e7@resw122.resdom01.local>
Accept-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.18.22.70]
MIME-Version: 1.0
X-Virus-Scanned: clamav-milter 0.99.3 at mailrelay.dillinger.de
X-Virus-Status: Clean
X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00, GIT_PATCH_2,
KAM_ASCII_DIVIDERS, KAM_DMARC_STATUS, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_NONE,
SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <http://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 02Q6xZQ8024339

Hello Andrey Repin

The sources and the documentation are her:

https://thrift.apache.org/tutorial/cpp

You must have libthrift installed.

Maybe using threads is a better programming style, but i don't know, if it solves the problem. I use connecting and disconnecting to the service like braces around the rest of the application. At some points the application transfers data to the service and expects an answer. It is a synchronous communication and i use it like RPC (remote procedure call). The client sends a request and the service has to respond. Without the response the client cannot continue. Every client has its own service.

Greetings

Ramund Paulus

> -----Ursprüngliche Nachricht-----
> Von: Andrey Repin [mailto:anrdaemon AT yandex DOT ru]
> Gesendet: Mittwoch, 25. März 2020 12:13
> An: PAULUS, Raimund, TI-ABN; cygwin AT cygwin DOT com
> Betreff: Re: Problems using Qt5 and Apache Thrift
> 
> Greetings, PAULUS, Raimund, TI-ABN!
> 
> > Problems using Qt5 and Apache Thrift
> 
> ...snip...
> 
> > Now i want to implement the interface parts with Qt 5. Here is the new program
> sequence:
> 
> > //------------------------------------------------------------------------------
> > program starts
> > step 1: make the connection to the Linux server (Apache Thrift)
> > step 2: initialize Qt interface (create widgets, buttons, ...)
> > step 3: user interface (Qt)
> > step 4: data transfer PC <-> Linux-Host (Apache Thrift)
> > step 5: user interface (Qt)
> > step 6: data transfer PC <-> Linux-Host (Apache Thrift)
> > ...
> > ...
> > ...
> > step n-1: end Qt app
> > step n: close the connection to the host (Apache Thrift)
> > program ends
> > //------------------------------------------------------------------------------
> 
> > During step 2 the connection to the linux server is broken. You can see it
> > with the netstat command. First error message arises in step 4:
> 
> > "TSocket::write_partial() send() <Host: my_host Port: 9090>Broken pipe"
> 
> I strongly suggest placing communication service in its own thread.
> Then you could manage connection without having to worry about blocking
> timeouts caused by GUI operations.
> They will run asynchronously.
> 
> > On a Linux box the client program runs perfectly.
> 
> Only by coincidence, I suppose.
> 
> > On the windows box the program works, if i initalize Qt before the
> > connection to the server is made (step 2 before step 1). But that is not
> > acceptable for me, because afterwards other widgets and buttons are created
> > and i can not close and create the connection at each point.
> 
> I suppose, the server dropping connection by timeout. But I'd urge you to
> investigate this further.
> 
> > For the tests I used the examples from the Apache Thrift Tutorial.
> 
> Please include examples as text/plain attachments, if they are longer than a
> few lines.
> 
> 
> --
> With best regards,
> Andrey Repin
> Wednesday, March 25, 2020 14:08:25
> 
> Sorry for my terrible english...

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019