<?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[socket überprüfung]]></title><description><![CDATA[<p>Hi, will eine bereits bestehende verbindung überprüfen lassen, ob sie immernoch besteht...wie geht daS ? also man könnte natürliuch nochmal int connect() aufrufen, aber das wäre ja ein reconnect und keine verbindngsüberprüfung...also wie stelle ich das an ?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171363/socket-überprüfung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 14:35:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171363.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jan 2007 18:19:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to socket überprüfung on Wed, 24 Jan 2007 18:19:23 GMT]]></title><description><![CDATA[<p>Hi, will eine bereits bestehende verbindung überprüfen lassen, ob sie immernoch besteht...wie geht daS ? also man könnte natürliuch nochmal int connect() aufrufen, aber das wäre ja ein reconnect und keine verbindngsüberprüfung...also wie stelle ich das an ?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216253</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Wed, 24 Jan 2007 18:19:23 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Wed, 24 Jan 2007 19:58:03 GMT]]></title><description><![CDATA[<p>schau die mal die methode select an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216355</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 24 Jan 2007 19:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Wed, 24 Jan 2007 19:59:08 GMT]]></title><description><![CDATA[<blockquote>
<p>will eine bereits bestehende verbindung überprüfen lassen, ob sie immernoch besteht</p>
</blockquote>
<p>Das geht nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216359</guid><dc:creator><![CDATA[......]]></dc:creator><pubDate>Wed, 24 Jan 2007 19:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Wed, 24 Jan 2007 20:56:43 GMT]]></title><description><![CDATA[<p>hab mich vlt etwas doof ausgedrückt<br />
wenn ich auf der einen seite den socekt beende...dann müsste man auf dem adneren pc<br />
erst mal die verbindung aktuallisuieren...um festzustellen , dass es keine mehr gibt.. vlt geht das ja auch anderes...könnte man evt bevor man die verbindung beendet noch ein befehl an den andern pc senden oder ähn. ?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216410</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Wed, 24 Jan 2007 20:56:43 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Mon, 29 Jan 2007 15:05:30 GMT]]></title><description><![CDATA[<p>wenn du ihm sagt das du ein aktives close ausführst, führt die andere seite ein passives clos aus. so stehts in meinem buch..<br />
frag mich nicht wie man das macht, aber wenn dus weißt sagt mal wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT:<br />
Hat wohl was mit der Socketoption: SO_LINGER zu tun..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219245</guid><dc:creator><![CDATA[individuum]]></dc:creator><pubDate>Mon, 29 Jan 2007 15:05:30 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Tue, 30 Jan 2007 09:09:09 GMT]]></title><description><![CDATA[<p>...... schrieb:</p>
<blockquote>
<blockquote>
<p>will eine bereits bestehende verbindung überprüfen lassen, ob sie immernoch besteht</p>
</blockquote>
<p>Das geht nicht.</p>
</blockquote>
<p>Dein glück das du deinen namen nicht benutzt hast....</p>
<p>mache zuerst ein select, wird die verbindung normal beendet gibt select 1 zurück und dein lokaler socket wird in dem read-set gesetzt, lesen tust du eine 0, was bedeutet closesocket() wurde ausgeführt, desweiteren kann bei unnatürlichen abbrüchen dein socket im error-set landen bei select was dann auch wieder 1 zurückliefert, was ist so schwer btw. falsch daran ?</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/ms737582.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms737582.aspx</a><br />
weit unten ist ausführlich beschrieben was bei SO_LINGER passiert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219599</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Tue, 30 Jan 2007 09:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Tue, 30 Jan 2007 13:17:36 GMT]]></title><description><![CDATA[<p>ahja.. an select hat ich dabei ja noch gar nicht gedacht...</p>
<p>aber wenn jetzt zb ein netzwerkkabel entfernt wird, wie schnell bekommt select den socket error?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219782</guid><dc:creator><![CDATA[individuum]]></dc:creator><pubDate>Tue, 30 Jan 2007 13:17:36 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Tue, 30 Jan 2007 15:05:03 GMT]]></title><description><![CDATA[<p>entweder kommt select mitm error oder recv kommt mitm error, in beiden fällen kommt es schnell genug .... in msec kann ich das jetzt nicht genau sagen, aber ich arbeite im moment selber mit sockets sehr intensiv, und kann dir sagen das es kein problem darstellt, wenn du überall dein if (recv() == 0) GetLastError(); hinkritzelst ^^</p>
<pre><code class="language-cpp">while(select(NULL,read_set,NULL,error_set,timeout_val)){
    if (ISSET(Socket1, read_set)){
        int received = recv(socket...);
        if (received &lt; 0){
            OutputDebugString(IntToStr(WSAGetLastError()).c_str());
        }
        else if (received == 0){
            OutputDebugString(&quot;Socket wurde geschlossen&quot;);
        }
    }
    else if (ISSET(Socket1, error_set)){
        OutputDebugString(&quot;Socketfehler&quot;);
    }
}
</code></pre>
<p>zu dem write_set was man noch benutzen kann, damit prüfst du ob der socket schreibbereit ist, wenn ich mich nicht irre müsste der select immer sofort größer 0 zurückliefern, wenn der Socket OK ist, wenn dein select auf write_set mal 0 liefert, btw. einer deiner sockets false bei ISSET(Socket, wite_set) liefert, dann ist seine sendeschlange voll, weil der client kein recv ausgeführt hat!</p>
<p>beachte das unbedingt beim send() , sonst rennst du mit deinem server unerverhofft in einen deadlock, wenn einer der clients irgendwo n hänger hat und kein recv mehr ausführt, der socket aber noch immer offen ist.</p>
<p>also praktisch immer</p>
<pre><code class="language-cpp">if (select(NULL,NULL,write_set,NULL,timeout)) {
    send();
}
else {
    OutputDebugString(&quot;Fehler, warteschlange voll!&quot;);
}
</code></pre>
<p>PS: Sorry for BCB Code, bin verdammt mit Borland zu arbeiten, falls das hier jemanden das auffält XD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219882</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Tue, 30 Jan 2007 15:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to socket überprüfung on Wed, 31 Jan 2007 13:59:07 GMT]]></title><description><![CDATA[<p>das ist ja echt ne feine lösung!<br />
schitt nun muss ich mein programm ja wieder komplett ändern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220505</guid><dc:creator><![CDATA[individuum]]></dc:creator><pubDate>Wed, 31 Jan 2007 13:59:07 GMT</pubDate></item></channel></rss>