<?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[WinSock - Out of Band?]]></title><description><![CDATA[<p>Hi!<br />
Wenn ich zu einem HTTP Server verbunden bin, und eine GIF Datei oder änliches herunterlade, gibt es immer das Problem das nach einer gewissen Datensummer die ich heruntergeladen habe, FD_ISSET dann 0 zurückgibt, auch wenn ich bei select als Timeout 10 Sekunden angegeben habe.</p>
<p>Habe daraufhin nochmal die WinSock API durchforstet und bin auf setsockopt gelangt. Da steht nun was von out-of-band wo mir meine Intension sagt, das es was damit zu tun hat...</p>
<p><a href="http://www.c-worker.ch/dokuwsck/owinsck/winsock4.htm#4.1.21" rel="nofollow">http://www.c-worker.ch/dokuwsck/owinsck/winsock4.htm#4.1.21</a></p>
<p>Bloß weiß ich dennoch nicht, was out-of-band Data sein soll. Steht da für mich etwas nützliches drin? Wenn nein, irgendwie eine andere Idee wie man dieses Problem verhindern kann? Es geht auf jedenfall, soviel ist klar.</p>
<p>mfg olli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/101778/winsock-out-of-band</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 02:49:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101778.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Feb 2005 14:43:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WinSock - Out of Band? on Sat, 19 Feb 2005 14:43:59 GMT]]></title><description><![CDATA[<p>Hi!<br />
Wenn ich zu einem HTTP Server verbunden bin, und eine GIF Datei oder änliches herunterlade, gibt es immer das Problem das nach einer gewissen Datensummer die ich heruntergeladen habe, FD_ISSET dann 0 zurückgibt, auch wenn ich bei select als Timeout 10 Sekunden angegeben habe.</p>
<p>Habe daraufhin nochmal die WinSock API durchforstet und bin auf setsockopt gelangt. Da steht nun was von out-of-band wo mir meine Intension sagt, das es was damit zu tun hat...</p>
<p><a href="http://www.c-worker.ch/dokuwsck/owinsck/winsock4.htm#4.1.21" rel="nofollow">http://www.c-worker.ch/dokuwsck/owinsck/winsock4.htm#4.1.21</a></p>
<p>Bloß weiß ich dennoch nicht, was out-of-band Data sein soll. Steht da für mich etwas nützliches drin? Wenn nein, irgendwie eine andere Idee wie man dieses Problem verhindern kann? Es geht auf jedenfall, soviel ist klar.</p>
<p>mfg olli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727235</guid><dc:creator><![CDATA[Vertex]]></dc:creator><pubDate>Sat, 19 Feb 2005 14:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to WinSock - Out of Band? on Sat, 19 Feb 2005 15:05:09 GMT]]></title><description><![CDATA[<p>ich glaub damit bist du auf dem falschen Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727260</guid><dc:creator><![CDATA[----]]></dc:creator><pubDate>Sat, 19 Feb 2005 15:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to WinSock - Out of Band? on Sat, 19 Feb 2005 15:57:33 GMT]]></title><description><![CDATA[<p>Hmm shit, das Problem liegt doch woanders. Nämlich das die Timeouts irgendwie garnicht bei select eingehalten werden. Muss nochmal schauen, ob ich da nicht irgendie einen Null Pointer übergeben habe.<br />
mfg olli</p>
<p>Edit: Hmm kann mir jemand sagen, wie ich einen TCP Clienten auf Non-Blocking setzen kann?</p>
<p>Der Socket wir mit socket(AF_INET, SOCK_STREAM, 0) erstellt, und mit connect() mit der entsprechenenden Adresse verbunden.</p>
<p>Prüfe das ganze so mit non-blocking:</p>
<pre><code>FD_ZERO(TNetwork.tFDSRead)
FD_SET(iSocket, TNetwork.tFDSRead)
FD_SET(iSocket, TNetwork.tFDSRead)

If select(0, TNetwork.tFDSRead, Null, Null, tReadTimeout) = SOCKET_ERROR Then Return 0
</code></pre>
<p>Sorry, ist kein C Code, aber wenn ich das ganze mit Clients mache, die ich mit accept bekomme, geht das verfahren auch so. Bloß eben das ich beim ersten FD_SET den Listen-Socket angebe. TNetwork.tFDSRead ist auf 10 Sekunden gesteltl(funzt wie gesagt bei accept Clients richtig).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727294</guid><dc:creator><![CDATA[Vertex]]></dc:creator><pubDate>Sat, 19 Feb 2005 15:57:33 GMT</pubDate></item></channel></rss>