<div dir="ltr">Hello again, and thanks for your answer:<div><br></div><div>Well I tried what you suggested (I guess) but got no luck. I know that I am able to send the data but can't receive anything... seems that readAll or read....() don't work at all</div>
<div><br></div><div>I've drop some lines on pastebin</div><div><br></div><div><a href="http://pastebin.com/mpYC0pPt">http://pastebin.com/mpYC0pPt</a><br></div><div><br></div><div>with an tiny application where the problem is shown</div>
<div><br></div><div>I hope someone can put some light on this... Thank you very much</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/22 Phil Thompson <span dir="ltr"><<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Mon, 22 Jul 2013 16:31:55 +0200, Jorge Tornero - Listas<br>
<<a href="mailto:jtorlistas@gmail.com">jtorlistas@gmail.com</a>> wrote:<br>
> Hello everybody,<br>
><br>
> I'm trying to share a digital scale through the network, making it able<br>
> to receive tare/send weight commands.<br>
> The scale is connected to a remote computer (a raspberry pi, by the way)<br>
<br>
> with a serial converter an the raspi is executing remserial, thus makin<br>
> avalilable the serial port to the network through port 23000.<br>
><br>
> Because I am making my application with PyQt4, I have chosen to use<br>
> QTcpSocket to do the communications between the computers. It is pretty<br>
> easy and I am able to get what i want (sending command and receiving<br>
> weights) just by:<br>
><br>
> soc=QtNetwork.QTcpSocket()<br>
><br>
><br>
> soc.connectToHost('174.33.22.11',23000)<br>
><br>
> soc.writeData('01ST@')<br>
> print soc.readAll()<br>
> soc.disconnectFromHost()<br>
><br>
><br>
> And of course I get the weight and I am able to repeat the cycle<br>
> connect-poll-receive-disonnect<br>
><br>
> The problem is whe I put that into a function like:<br>
><br>
> def captura():<br>
><br>
>    soc=QtNetwork.QTcpSocket(app)<br>
>    comandoCaptura=chr(6)+'01S@'+chr(13)<br>
>    soc.connectToHost('172.23.2.25',23000)<br>
>    soc.writeData(comandoCaptura)<br>
>    a=soc.readAll()<br>
>    print a<br>
>    soc.disconnectFromHost()<br>
>    return a<br>
><br>
><br>
> Ther is no wai to make it works. I guess is a basic python issue, but<br>
> can anyone help?<br>
<br>
</div></div>QTcpSocket is asynchronous, so you need an event loop. After calling<br>
connectToHost() you shouldn't try to read or write until the connected()<br>
signal has been emitted.<br>
<span class="HOEnZb"><font color="#888888"><br>
Phil<br>
</font></span></blockquote></div><br></div>