<?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.h und timeout]]></title><description><![CDATA[<p>Hallo,<br />
ich hab mich nach langer Zeit mal wieder an C gewagt (normalerweise benutze ich PHP, manchmal Perl) und ein Programm mir zusammen gebastelt:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;winsock.h&gt;

int ping(char *addr, int port ){
    int sock, count;
    struct sockaddr_in blah;
    struct hostent *he;
    char cgiBuff[1024];
    WSADATA wsaData;

    if(WSAStartup(0x101,&amp;wsaData)){
        printf(&quot;Unable to initialize WinSock lib.\n&quot;);
        exit(1);
	}

    sock = socket(AF_INET,SOCK_STREAM,0);
    blah.sin_family=AF_INET;
    blah.sin_addr.s_addr=inet_addr(addr);
    blah.sin_port=htons(port);
    if((he = gethostbyname(addr)) != NULL){
	    memcpy((char *)&amp;blah.sin_addr, he-&gt;h_addr, he-&gt;h_length);
	}else{
        printf(&quot;konnte %s nicht aufloesen&quot;, addr);
	    WSACleanup();
	    return 0;
    }

    if (connect(sock,(struct sockaddr*)&amp;blah,sizeof(blah))!=0){
        WSACleanup();
        /* printf(&quot;offline (%s)\n&quot;, addr); */
	    return 0;
    }else{
        closesocket(sock);
        printf(&quot;online  (%s)\n&quot;, addr);
	    WSACleanup();
	    return 0;
    }
}

int main(){
	while(1){
		ping(&quot;google.de&quot;, 80);
/* weitere hier */
		printf(&quot;------------------------\n&quot;);
	}

	return 0;
}
</code></pre>
<p>soweit funktioniert das ganze, nur würde ich gern den timeout etwas geringer einstellen, also falls ein Host mal nicht &quot;leben&quot; sollte.</p>
<p>Vielen Dank</p>
<p>Nik</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/105593/winsock-h-und-timeout</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 12:57:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/105593.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Apr 2005 06:34:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to winsock.h und timeout on Fri, 01 Apr 2005 06:34:33 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hab mich nach langer Zeit mal wieder an C gewagt (normalerweise benutze ich PHP, manchmal Perl) und ein Programm mir zusammen gebastelt:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;winsock.h&gt;

int ping(char *addr, int port ){
    int sock, count;
    struct sockaddr_in blah;
    struct hostent *he;
    char cgiBuff[1024];
    WSADATA wsaData;

    if(WSAStartup(0x101,&amp;wsaData)){
        printf(&quot;Unable to initialize WinSock lib.\n&quot;);
        exit(1);
	}

    sock = socket(AF_INET,SOCK_STREAM,0);
    blah.sin_family=AF_INET;
    blah.sin_addr.s_addr=inet_addr(addr);
    blah.sin_port=htons(port);
    if((he = gethostbyname(addr)) != NULL){
	    memcpy((char *)&amp;blah.sin_addr, he-&gt;h_addr, he-&gt;h_length);
	}else{
        printf(&quot;konnte %s nicht aufloesen&quot;, addr);
	    WSACleanup();
	    return 0;
    }

    if (connect(sock,(struct sockaddr*)&amp;blah,sizeof(blah))!=0){
        WSACleanup();
        /* printf(&quot;offline (%s)\n&quot;, addr); */
	    return 0;
    }else{
        closesocket(sock);
        printf(&quot;online  (%s)\n&quot;, addr);
	    WSACleanup();
	    return 0;
    }
}

int main(){
	while(1){
		ping(&quot;google.de&quot;, 80);
/* weitere hier */
		printf(&quot;------------------------\n&quot;);
	}

	return 0;
}
</code></pre>
<p>soweit funktioniert das ganze, nur würde ich gern den timeout etwas geringer einstellen, also falls ein Host mal nicht &quot;leben&quot; sollte.</p>
<p>Vielen Dank</p>
<p>Nik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757012</guid><dc:creator><![CDATA[namenik]]></dc:creator><pubDate>Fri, 01 Apr 2005 06:34:33 GMT</pubDate></item><item><title><![CDATA[Reply to winsock.h und timeout on Fri, 01 Apr 2005 09:44:59 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=547" rel="nofollow">Shade Of Mine</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=10" rel="nofollow">ANSI 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/757188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757188</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 01 Apr 2005 09:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to winsock.h und timeout on Fri, 01 Apr 2005 12:06:16 GMT]]></title><description><![CDATA[<p>WSAAsyncSelect() bzw. select() dürfte dich evtl. interessieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757360</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 01 Apr 2005 12:06:16 GMT</pubDate></item></channel></rss>