<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[TServerSocket blockiert ganze Anwendung]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine einfache Anwendung, die einen TServerSocket<br />
verwendet, um damit Daten von einem Client zu empfangen.</p>
<p>In der ClientRead-Methode muss der Server warten, bis ein<br />
Puffer freigegeben ist, das habe ich mit einer Semaphore<br />
und WaitForSingleObject gemacht. Das Problem ist nun, dass die<br />
ganze Anwendung lahmgelegt ist, sobald die ClientRead Methode<br />
aufgerufen wird. Ich habe also keine Chance durch einen ButtonClick<br />
die Semaphore wieder freizugeben (ReleaseSemaphore).</p>
<p>Gibt es eine Möglichkeit, dem ServerSocket sozusagen einen eigenen<br />
Thread zuzuweisen, damit nur der &quot;Socket-Empfangs-Thread&quot; blokiert<br />
wird und nicht die ganze Anwendung?</p>
<p>Danke und Gruss,</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147353/tserversocket-blockiert-ganze-anwendung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 02:04:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147353.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 May 2006 08:50:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TServerSocket blockiert ganze Anwendung on Tue, 16 May 2006 08:50:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine einfache Anwendung, die einen TServerSocket<br />
verwendet, um damit Daten von einem Client zu empfangen.</p>
<p>In der ClientRead-Methode muss der Server warten, bis ein<br />
Puffer freigegeben ist, das habe ich mit einer Semaphore<br />
und WaitForSingleObject gemacht. Das Problem ist nun, dass die<br />
ganze Anwendung lahmgelegt ist, sobald die ClientRead Methode<br />
aufgerufen wird. Ich habe also keine Chance durch einen ButtonClick<br />
die Semaphore wieder freizugeben (ReleaseSemaphore).</p>
<p>Gibt es eine Möglichkeit, dem ServerSocket sozusagen einen eigenen<br />
Thread zuzuweisen, damit nur der &quot;Socket-Empfangs-Thread&quot; blokiert<br />
wird und nicht die ganze Anwendung?</p>
<p>Danke und Gruss,</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058648</guid><dc:creator><![CDATA[TServerSocket1]]></dc:creator><pubDate>Tue, 16 May 2006 08:50:49 GMT</pubDate></item><item><title><![CDATA[Reply to TServerSocket blockiert ganze Anwendung on Tue, 16 May 2006 09:16:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ja das kannst du machen, siehe zum Beispiel <a href="http://bcb-tutorial.c-plusplus.net/Thread/index.html" rel="nofollow">hier</a>.<br />
Allerdings könntest du das problem auch einfach durch</p>
<pre><code class="language-cpp">Application-&gt;ProcessMessages();
</code></pre>
<p>lösen, das du in der Wartesachleife ab und zu ausführst. Dazu darf WaitFor... natürlich nicht unendlich lange warten, sondern muß einen Timeout von ein paar 100 Millisekuinden bekommen. Dann packst du WaitFor... und Aplication... in eine schleife, die solange läuft bis in irgendeiner Form das Warten beendet sein soll.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058672</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 16 May 2006 09:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to TServerSocket blockiert ganze Anwendung on Tue, 16 May 2006 09:46:28 GMT]]></title><description><![CDATA[<p>Danke für den Hinweis. Auf die Schleife mit Application-&gt;ProcessMessages() möchte ich eigentlich verzichten. Der Link mit den Threads erklärt<br />
ja ganz gut, wie ich mit Threads im allgemeinen arbeite - aber wie<br />
krieg ich nun den ServerSocket dazu, in einem eigenen Thread zu &quot;laufen&quot;?</p>
<p>Das Zusammenspiel ist mir noch nicht so ganz klar... Wäre sehr dankebar<br />
für eine kleines Beispiel oder weitere Infos zum Thema ServerSocket in<br />
eigenem Thread!</p>
<p>Gruss,</p>
<p>Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058696</guid><dc:creator><![CDATA[TserverSocket1]]></dc:creator><pubDate>Tue, 16 May 2006 09:46:28 GMT</pubDate></item><item><title><![CDATA[Reply to TServerSocket blockiert ganze Anwendung on Tue, 16 May 2006 10:16:12 GMT]]></title><description><![CDATA[<p>lass einfach das ganze semaphore zeug raus. das gehört da nicht hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1058721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1058721</guid><dc:creator><![CDATA[~~~~~]]></dc:creator><pubDate>Tue, 16 May 2006 10:16:12 GMT</pubDate></item></channel></rss>