<?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 binden]]></title><description><![CDATA[<p>Hallo ich habe die letzten Tage damit verbracht duzende von möglichen Configurationen durchzutesten aber ich komm nicht dahinter was ich falsch mache. Ich arbeite unter WinXP pro mit VC++ 6 und versuche verzweifelt ein Socket zu öffnen und ihn zu binden, einen client hab ich schon hinbekommen nur den Server bring ich nicht zu laufen. Konkret: ich bekomme bei der Funktion bind immer den Rückgabe wert -1.</p>
<pre><code>/* initialize windows sockets */
	WSADATA wsa;
	if (WSAStartup(MAKEWORD(1, 1), &amp;wsa))
	{
		m_Output3 = &quot;WSADATA Fehler&quot;;
		OnOutput3();
		//return EXIT_FAILURE;
	}

	//Soket erstelln
	int s = socket(AF_INET, SOCK_STREAM, 0);
	if (s == -1)
	{
		m_Output3 = &quot;Socket Fehler&quot;;
		OnOutput3();
		return;		
		//fehler abfangen
	}

	struct sockaddr_in addr;
	memset(&amp;addr, 0, sizeof(addr));

	addr.sin_addr.s_addr = htonl(INADDR_ANY); 
	addr.sin_port = htons(80); 							
	addr.sin_family = AF_INET;

	if (bind(s, (struct sockaddr*) &amp;addr, sizeof(addr)) == -1)
	{
		m_Output3 = &quot;bind Fehlgeschlagen&quot;;		
		OnOutput3();
		return;
		//fehler abfangen
	}

	if (listen(s, 1) == -1)
	{
		m_Output3 = &quot;listen Fehlgeschlagen&quot;;
		OnOutput3();
		return;
		//fehler abfangen
	}

	struct sockaddr_in cli;
	int cli_size = sizeof(cli);
	SOCKET client;

    if((client = accept(s, (struct sockaddr*) &amp;cli, &amp;cli_size)) ==       INVALID_SOCKET)
    {
        WSACleanup();
	m_Output3 = &quot;accept Fehlgeschlagen&quot;;
	OnOutput3();
	return;
        //fehler abfangen;
    }
</code></pre>
<p>was mir auch noch nicht ganz klar ist, ich kann nur den Port 80 verwenden bei allen anderen hängt es mir das Programm auf.</p>
<p>Fals jemand eine Idee hat woran das liegen könnte; Oder noch besser, eine Lösung wie ich das Fixen kann, wäre ich ewig dankbar</p>
<p>mfg Armin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148336/socket-binden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 20:29:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148336.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 May 2006 16:24:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Socket binden on Thu, 25 May 2006 16:24:51 GMT]]></title><description><![CDATA[<p>Hallo ich habe die letzten Tage damit verbracht duzende von möglichen Configurationen durchzutesten aber ich komm nicht dahinter was ich falsch mache. Ich arbeite unter WinXP pro mit VC++ 6 und versuche verzweifelt ein Socket zu öffnen und ihn zu binden, einen client hab ich schon hinbekommen nur den Server bring ich nicht zu laufen. Konkret: ich bekomme bei der Funktion bind immer den Rückgabe wert -1.</p>
<pre><code>/* initialize windows sockets */
	WSADATA wsa;
	if (WSAStartup(MAKEWORD(1, 1), &amp;wsa))
	{
		m_Output3 = &quot;WSADATA Fehler&quot;;
		OnOutput3();
		//return EXIT_FAILURE;
	}

	//Soket erstelln
	int s = socket(AF_INET, SOCK_STREAM, 0);
	if (s == -1)
	{
		m_Output3 = &quot;Socket Fehler&quot;;
		OnOutput3();
		return;		
		//fehler abfangen
	}

	struct sockaddr_in addr;
	memset(&amp;addr, 0, sizeof(addr));

	addr.sin_addr.s_addr = htonl(INADDR_ANY); 
	addr.sin_port = htons(80); 							
	addr.sin_family = AF_INET;

	if (bind(s, (struct sockaddr*) &amp;addr, sizeof(addr)) == -1)
	{
		m_Output3 = &quot;bind Fehlgeschlagen&quot;;		
		OnOutput3();
		return;
		//fehler abfangen
	}

	if (listen(s, 1) == -1)
	{
		m_Output3 = &quot;listen Fehlgeschlagen&quot;;
		OnOutput3();
		return;
		//fehler abfangen
	}

	struct sockaddr_in cli;
	int cli_size = sizeof(cli);
	SOCKET client;

    if((client = accept(s, (struct sockaddr*) &amp;cli, &amp;cli_size)) ==       INVALID_SOCKET)
    {
        WSACleanup();
	m_Output3 = &quot;accept Fehlgeschlagen&quot;;
	OnOutput3();
	return;
        //fehler abfangen;
    }
</code></pre>
<p>was mir auch noch nicht ganz klar ist, ich kann nur den Port 80 verwenden bei allen anderen hängt es mir das Programm auf.</p>
<p>Fals jemand eine Idee hat woran das liegen könnte; Oder noch besser, eine Lösung wie ich das Fixen kann, wäre ich ewig dankbar</p>
<p>mfg Armin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065005</guid><dc:creator><![CDATA[Frittnschneider]]></dc:creator><pubDate>Thu, 25 May 2006 16:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to Socket binden on Thu, 25 May 2006 16:36:08 GMT]]></title><description><![CDATA[<p>WSAGetLastError() benutzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065011</guid><dc:creator><![CDATA[tipp]]></dc:creator><pubDate>Thu, 25 May 2006 16:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Socket binden on Thu, 25 May 2006 17:06:46 GMT]]></title><description><![CDATA[<p>ok jetz weis ich schon mehr... Fehler 10048 d.h. der Port 80 ist schon im gebrauch... nun ja wenn ich einen anderen hernehme hängt es mir das Programm auf, was könnte daran falsch sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065030</guid><dc:creator><![CDATA[Frittnschneider]]></dc:creator><pubDate>Thu, 25 May 2006 17:06:46 GMT</pubDate></item><item><title><![CDATA[Reply to Socket binden on Thu, 25 May 2006 17:20:53 GMT]]></title><description><![CDATA[<p>aha er hat ewig auf den client gewartet weil ich dort den port noch nicht eingestellt habe. der verbindungsaufbau aber jetz hab ich probleme beim senden... nun ja da werd ich mich mal selbs wieder schauen zu informieren und wenns nicht klappt meld ich mich nochmal <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>vielen dank nochmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065035</guid><dc:creator><![CDATA[Frittnschneider]]></dc:creator><pubDate>Thu, 25 May 2006 17:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to Socket binden on Sat, 27 May 2006 06:05:52 GMT]]></title><description><![CDATA[<p>Wenn du schon hier bei MFC bist dann verwende MFC (CSocket oder CAsyncSocket)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065892</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Sat, 27 May 2006 06:05:52 GMT</pubDate></item></channel></rss>