<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Code sample &#8211; socket client based on Twisted with PyQt</title>
	<atom:link href="http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/feed/" rel="self" type="application/rss+xml" />
	<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/</link>
	<description>Eli Bendersky&#039;s personal website</description>
	<lastBuildDate>Sat, 18 May 2013 00:16:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: eliben</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-1116755</link>
		<dc:creator>eliben</dc:creator>
		<pubDate>Sun, 24 Mar 2013 21:39:50 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-1116755</guid>
		<description>@Scott,

Thanks for your feedback. Unfortunately, I no longer have the setup to run this sample - so I won&#039;t be able to help here. But yes, `&lt;code&gt;qt4reactor&lt;/code&gt;` interaction is a tricky thing, IIRC, and it wasn&#039;t easy to find a well-functioning implementation.</description>
		<content:encoded><![CDATA[<p>@Scott,</p>
<p>Thanks for your feedback. Unfortunately, I no longer have the setup to run this sample &#8211; so I won&#8217;t be able to help here. But yes, <code class="backtick">qt4reactor</code> interaction is a tricky thing, IIRC, and it wasn&#8217;t easy to find a well-functioning implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-1116682</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Sun, 24 Mar 2013 19:28:19 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-1116682</guid>
		<description>As a followup if you press the &#039;Do It&#039; button then press the window close X button the application does exit to command line.  So it appears that is you try or actually connect to backend server the application will exit when pressing the window close X button.  It looks like you must do a connect and/or send to server to get everything to close and exit application.</description>
		<content:encoded><![CDATA[<p>As a followup if you press the &#8216;Do It&#8217; button then press the window close X button the application does exit to command line.  So it appears that is you try or actually connect to backend server the application will exit when pressing the window close X button.  It looks like you must do a connect and/or send to server to get everything to close and exit application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-1116676</link>
		<dc:creator>Scott</dc:creator>
		<pubDate>Sun, 24 Mar 2013 19:19:09 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-1116676</guid>
		<description>There is an issue with this application as posted.  If you run the application and never hit the &quot;Do It&quot; button but press the window close X the application does not close.  I am currently developing an application and I have the same issue.  

If you Cntrl-C the application after pressing the X on the window bar you get the following:
QObject::killTimers: timers cannot be stopped from another thread
and application does not exit.  Still in a loop somewhere.

Where is a PyQt4 reactor that works? Meaning you can exit your Qt application.  The posted sample above does not allow a close either.  I have tried to add a stop method to reactor as well but application will not cleanly exiit.

I am using the PyQt 4.9.4 which is latest for binary installer.  Also using Qt 4.8.1.  Some incompatibility with qt4reactor.  I have tried launchpad.net version of qt4reactor and can not get Qt QMainWindow to close.</description>
		<content:encoded><![CDATA[<p>There is an issue with this application as posted.  If you run the application and never hit the &#8220;Do It&#8221; button but press the window close X the application does not close.  I am currently developing an application and I have the same issue.  </p>
<p>If you Cntrl-C the application after pressing the X on the window bar you get the following:<br />
QObject::killTimers: timers cannot be stopped from another thread<br />
and application does not exit.  Still in a loop somewhere.</p>
<p>Where is a PyQt4 reactor that works? Meaning you can exit your Qt application.  The posted sample above does not allow a close either.  I have tried to add a stop method to reactor as well but application will not cleanly exiit.</p>
<p>I am using the PyQt 4.9.4 which is latest for binary installer.  Also using Qt 4.8.1.  Some incompatibility with qt4reactor.  I have tried launchpad.net version of qt4reactor and can not get Qt QMainWindow to close.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johanna</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-613240</link>
		<dc:creator>Johanna</dc:creator>
		<pubDate>Mon, 11 Jul 2011 08:42:42 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-613240</guid>
		<description>Thanks for your response.

About the 64bits issue, I think I&#039;ll just try to run something and ask questions on the mailing list. But it&#039;s not possible to install a 32-Python (not my machine, not my choice..)

I guess I was just wondering if it was easy to convert something and not start from scratch. But you&#039;re right, I&#039;ll try to get going and see how it turns out !</description>
		<content:encoded><![CDATA[<p>Thanks for your response.</p>
<p>About the 64bits issue, I think I&#8217;ll just try to run something and ask questions on the mailing list. But it&#8217;s not possible to install a 32-Python (not my machine, not my choice..)</p>
<p>I guess I was just wondering if it was easy to convert something and not start from scratch. But you&#8217;re right, I&#8217;ll try to get going and see how it turns out !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eliben</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-609864</link>
		<dc:creator>eliben</dc:creator>
		<pubDate>Fri, 08 Jul 2011 17:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-609864</guid>
		<description>&lt;b&gt;Johanna&lt;/b&gt;,

Your question is too general. How simple it is to convert an application to Twisted, depends on the application, of course, what would you expect :-) ?  I suggest you just get going, and if you run into specific problems, ask questions in the Twisted mailing list or on Stack Overflow. I confess I don&#039;t have much experience with Twisted.

Re 64-bit Windows, I have no idea. You can always install a 32-bit Python on a Win 64 machine, so Twisted surely can run there. Don&#039;t know about 64-bit Python.</description>
		<content:encoded><![CDATA[<p><b>Johanna</b>,</p>
<p>Your question is too general. How simple it is to convert an application to Twisted, depends on the application, of course, what would you expect <img src='http://eli.thegreenplace.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ?  I suggest you just get going, and if you run into specific problems, ask questions in the Twisted mailing list or on Stack Overflow. I confess I don&#8217;t have much experience with Twisted.</p>
<p>Re 64-bit Windows, I have no idea. You can always install a 32-bit Python on a Win 64 machine, so Twisted surely can run there. Don&#8217;t know about 64-bit Python.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johanna</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-609753</link>
		<dc:creator>Johanna</dc:creator>
		<pubDate>Fri, 08 Jul 2011 15:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-609753</guid>
		<description>Hi,
I am writing a PyQt application which I would like to turn into a client-server app (thiswas not planned at the beginning of the developement). I nerver used Twisted, and in a general way I suck at networking programming. So I guess my question is : is it simple to convert zn existing application to network app using Twisted ? Do you have any good advice apart from your post (which seems to be a good strating point) ?

Oh, and I am running under Windows 64bits, is it a problem for installing Twisted ?</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I am writing a PyQt application which I would like to turn into a client-server app (thiswas not planned at the beginning of the developement). I nerver used Twisted, and in a general way I suck at networking programming. So I guess my question is : is it simple to convert zn existing application to network app using Twisted ? Do you have any good advice apart from your post (which seems to be a good strating point) ?</p>
<p>Oh, and I am running under Windows 64bits, is it a problem for installing Twisted ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Yves</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-586174</link>
		<dc:creator>Jean-Yves</dc:creator>
		<pubDate>Thu, 16 Jun 2011 07:35:05 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-586174</guid>
		<description>Thanks for this solution using twisted and QT</description>
		<content:encoded><![CDATA[<p>Thanks for this solution using twisted and QT</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Inmake</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-564991</link>
		<dc:creator>Inmake</dc:creator>
		<pubDate>Tue, 07 Jun 2011 12:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-564991</guid>
		<description>А мне понравилось!</description>
		<content:encoded><![CDATA[<p>А мне понравилось!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eliben</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-548559</link>
		<dc:creator>eliben</dc:creator>
		<pubDate>Fri, 27 May 2011 03:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-548559</guid>
		<description>&lt;b&gt;glyph&lt;/b&gt;

Thank &lt;i&gt;you&lt;/i&gt; for the effort invested in Twisted! It&#039;s good to hear about making qt4reactor official.

Regarding `&lt;code&gt;Int32StringReceiver&lt;/code&gt;`, I definitely saw it, but it&#039;s big-endian (network order) 32-bit integer, while I use a little-endian prefix. Not that I have any particular preference for little-endian, but I just wanted to keep the protocol the same as in the previous sample.

I will read about endpoints, thanks.</description>
		<content:encoded><![CDATA[<p><b>glyph</b></p>
<p>Thank <i>you</i> for the effort invested in Twisted! It&#8217;s good to hear about making qt4reactor official.</p>
<p>Regarding <code class="backtick">Int32StringReceiver</code>, I definitely saw it, but it&#8217;s big-endian (network order) 32-bit integer, while I use a little-endian prefix. Not that I have any particular preference for little-endian, but I just wanted to keep the protocol the same as in the previous sample.</p>
<p>I will read about endpoints, thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glyph</title>
		<link>http://eli.thegreenplace.net/2011/05/26/code-sample-socket-client-based-on-twisted-with-pyqt/comment-page-1/#comment-548071</link>
		<dc:creator>Glyph</dc:creator>
		<pubDate>Thu, 26 May 2011 15:49:38 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=2526#comment-548071</guid>
		<description>Thanks for posting a Twisted solution to your GUI networking problem! :)

A few minor notes:

With the advent of &lt;a href=&quot;http://www.pyside.org/&quot; rel=&quot;nofollow&quot;&gt;PySide&lt;/a&gt;, we may be able to &lt;a href=&quot;http://twistedmatrix.com/trac/ticket/3977&quot; rel=&quot;nofollow&quot;&gt;address those licensing issues&lt;/a&gt; and have an officially-supported qt reactor again.

You don&#039;t need to set attributes on your own IntNStringReceiver to get &quot;little-endian 32-bit length prefix&quot; behavior; that&#039;s already in Twisted as &lt;a href=&quot;http://twistedmatrix.com/documents/11.0.0/api/twisted.protocols.basic.Int32StringReceiver.html&quot; rel=&quot;nofollow&quot;&gt;Int32StringReceiver&lt;/a&gt;.

Finally, you can save a bit of code by using the &lt;a href=&quot;http://twistedmatrix.com/documents/11.0.0/core/howto/endpoints.html&quot; rel=&quot;nofollow&quot;&gt;&#039;endpoints&#039; connection APIs&lt;/a&gt;, which will give you a Deferred that fires with your protocol instance when it&#039;s connected rather than you needing to set up your own clientReady callback.</description>
		<content:encoded><![CDATA[<p>Thanks for posting a Twisted solution to your GUI networking problem! <img src='http://eli.thegreenplace.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A few minor notes:</p>
<p>With the advent of <a href="http://www.pyside.org/" rel="nofollow">PySide</a>, we may be able to <a href="http://twistedmatrix.com/trac/ticket/3977" rel="nofollow">address those licensing issues</a> and have an officially-supported qt reactor again.</p>
<p>You don&#8217;t need to set attributes on your own IntNStringReceiver to get &#8220;little-endian 32-bit length prefix&#8221; behavior; that&#8217;s already in Twisted as <a href="http://twistedmatrix.com/documents/11.0.0/api/twisted.protocols.basic.Int32StringReceiver.html" rel="nofollow">Int32StringReceiver</a>.</p>
<p>Finally, you can save a bit of code by using the <a href="http://twistedmatrix.com/documents/11.0.0/core/howto/endpoints.html" rel="nofollow">&#8216;endpoints&#8217; connection APIs</a>, which will give you a Deferred that fires with your protocol instance when it&#8217;s connected rather than you needing to set up your own clientReady callback.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
