<?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[IRC-Bot - Reconnectproblem]]></title><description><![CDATA[<p>Hi...<br />
Ich hab einen kleinen IRC-Bot gebaut das Problem ist jetzt das ich hinter einem Router sitzte und bei einer Trennung<br />
spätestens nach 24h der Bot aus dem IRC fliegt.<br />
Wär es möglich das irgendwie zu prüfen vlt. an der Ausgabe wenn die 1 Minute oder so unverändert bleibt !?<br />
Leider hab ich keinen blassen Schimmer wie ich das anstellen soll.<br />
Hier mal bisschen Code wies bis jetzt ausschaut:</p>
<pre><code class="language-cpp">do 
		{
		 if (WSAGetLastError() != 0 &amp;&amp; WSAGetLastError() != 10053 &amp;&amp; WSAGetLastError() != 183)
			{

			 // Winsock
			 rc = socketfkt.startWinsock();
			 s=socket(AF_INET,SOCK_STREAM,0);
			 memset(&amp;addr, 0, sizeof(addr)); 
			 addr.sin_family=AF_INET; 
			 addr.sin_port=htons(IRC.port);
			 rc = socketfkt.getAddrFromString((char*)IRC.server.c_str(), &amp;addr);
			 rc = connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 

			 .........
			}
		 else
			{
			 ofstream logdat(&quot;log.dat&quot;, ios_base::app);
			 Ausgabe = IRC.Serverrueckgaben(s, rc);
			 cout &lt;&lt; Ausgabe &lt;&lt; endl;
			 logdat &lt;&lt; Ausgabe &lt;&lt; flush;

			  ........
			}
		}while(Leave != true);
</code></pre>
<p>Das unwichtige hab ich mal rausgeschnitten :-).<br />
Wenn mir einer helfen könnte wäre ich sehr Dankbar, am besten mit bisschen Code zum besseren Verständniss.</p>
<p>Vielen Dank schonmal für die Hilfe</p>
<p>mfg<br />
Tomjack</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/103490/irc-bot-reconnectproblem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 16:57:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/103490.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Mar 2005 08:45:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to IRC-Bot - Reconnectproblem on Wed, 09 Mar 2005 08:45:13 GMT]]></title><description><![CDATA[<p>Hi...<br />
Ich hab einen kleinen IRC-Bot gebaut das Problem ist jetzt das ich hinter einem Router sitzte und bei einer Trennung<br />
spätestens nach 24h der Bot aus dem IRC fliegt.<br />
Wär es möglich das irgendwie zu prüfen vlt. an der Ausgabe wenn die 1 Minute oder so unverändert bleibt !?<br />
Leider hab ich keinen blassen Schimmer wie ich das anstellen soll.<br />
Hier mal bisschen Code wies bis jetzt ausschaut:</p>
<pre><code class="language-cpp">do 
		{
		 if (WSAGetLastError() != 0 &amp;&amp; WSAGetLastError() != 10053 &amp;&amp; WSAGetLastError() != 183)
			{

			 // Winsock
			 rc = socketfkt.startWinsock();
			 s=socket(AF_INET,SOCK_STREAM,0);
			 memset(&amp;addr, 0, sizeof(addr)); 
			 addr.sin_family=AF_INET; 
			 addr.sin_port=htons(IRC.port);
			 rc = socketfkt.getAddrFromString((char*)IRC.server.c_str(), &amp;addr);
			 rc = connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 

			 .........
			}
		 else
			{
			 ofstream logdat(&quot;log.dat&quot;, ios_base::app);
			 Ausgabe = IRC.Serverrueckgaben(s, rc);
			 cout &lt;&lt; Ausgabe &lt;&lt; endl;
			 logdat &lt;&lt; Ausgabe &lt;&lt; flush;

			  ........
			}
		}while(Leave != true);
</code></pre>
<p>Das unwichtige hab ich mal rausgeschnitten :-).<br />
Wenn mir einer helfen könnte wäre ich sehr Dankbar, am besten mit bisschen Code zum besseren Verständniss.</p>
<p>Vielen Dank schonmal für die Hilfe</p>
<p>mfg<br />
Tomjack</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741121</guid><dc:creator><![CDATA[Tomjack]]></dc:creator><pubDate>Wed, 09 Mar 2005 08:45:13 GMT</pubDate></item><item><title><![CDATA[Reply to IRC-Bot - Reconnectproblem on Wed, 09 Mar 2005 12:20:03 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=5608" rel="nofollow">davie</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/741279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741279</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 09 Mar 2005 12:20:03 GMT</pubDate></item><item><title><![CDATA[Reply to IRC-Bot - Reconnectproblem on Wed, 09 Mar 2005 12:42:32 GMT]]></title><description><![CDATA[<p>recv() sollte fehlschlagen wenn ich dich jetzt richtig verstanden hab</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741301</guid><dc:creator><![CDATA[fatbot]]></dc:creator><pubDate>Wed, 09 Mar 2005 12:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to IRC-Bot - Reconnectproblem on Wed, 09 Mar 2005 13:09:45 GMT]]></title><description><![CDATA[<p>Schon, aber nach welcher Zeit? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Normalerweise schickt der IRC-Server in regelmäßigen Abständen eine PING-Nachricht. Du könntest darauf aufbauend ein Timeout implementieren. Manche Clients schicken auch selber PINGs an den Server.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/741317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/741317</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 09 Mar 2005 13:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to IRC-Bot - Reconnectproblem on Sat, 12 Mar 2005 09:11:20 GMT]]></title><description><![CDATA[<p>Sry das ich erst so spät drauf antworte hatte zu tun.<br />
Ich versteh net ganz was du meinst Bashar.</p>
<p>Das der IRC-Server mir Ping schickt weiss ich und das ich dann nen Pong zurückschicken muss ist mir auch klar.</p>
<pre><code class="language-cpp">if((Ausgabe.find(&quot;PING :&quot;,0)) != string::npos )
   IRC.Pingpong(s, Ausgabe, (pingpos+6));
</code></pre>
<p>Das funktioniert auch alles.<br />
Ich hab auch falls ich mal nen Ping timeout habe eine ERROR-Funktion</p>
<pre><code class="language-cpp">if ((Ausgabe.substr(0, 5)) == &quot;ERROR&quot;)
   WSASetLastError(1);
</code></pre>
<p>Der ERROR kommt aber nur wenn ich noch connectet bin.<br />
Wenn jetzt aber meine 24 Stunden abgelaufen sind und ich reconnecten muss bzw. mein Router reconnecten muss, dann merkt das mein Programm net und läuft ewig in der while() Schleife weiter.<br />
Ich weiss net was ich tun soll damit er das peilt das er nixmehr bekommt und automatisch reconnectet.<br />
Ich kann auch leider mit der Antwort von fatbot net viel Anfangen sry <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/742835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/742835</guid><dc:creator><![CDATA[Tomjack]]></dc:creator><pubDate>Sat, 12 Mar 2005 09:11:20 GMT</pubDate></item></channel></rss>