I've tried it.<div>I seems it depends on QGis not giving the plugin thread the option to serve while IDLE waiting for user interaction.</div><div>The plugin server unfreezes even if you simply move the mouse over QGis (wihtout doing any action on it).</div>
<div>It must be investigated...</div><div><br></div><div>giovanni<br><br><div class="gmail_quote">2012/6/19 Víctor González <span dir="ltr"><<a href="mailto:victorzinho@gmail.com" target="_blank">victorzinho@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<div><br></div><div>I'm trying to create a plugin that opens a socket server in a separate thread and handles requests. I create the server using SocketServer.TCPServer and threading.Thread in the initGui method and the plugin starts correctly, but if I try to get a response from a client, the server freezes and does not respond.</div>


<div><br></div><div>The strange thing is that I have added a toolbar button that opens and closes a file and, if I click that button, the server unfreezes and I get the response as expected. However, if I create the socket server with the same exact code as an standalone program, it works as expected without freezing.</div>


<div><br></div><div>I have looked into the PyQgis cookbook [1] and the contributed plugins [2] searching for an example or solution but I couldn't find anything. Does anyone know what may be wrong? Any hint will be greatly appreciated. I attach the Qgis plugin as well as the standalone server and client.</div>


<div><br></div><div>Thanks in advance, </div><span class="HOEnZb"><font color="#888888"><div>Víctor.</div>
</font></span><br>_______________________________________________<br>
Qgis-developer mailing list<br>
<a href="mailto:Qgis-developer@lists.osgeo.org">Qgis-developer@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
<br></blockquote></div><br></div>