<?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[Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation]]></title><description><![CDATA[<p>Hi, ich habe eine Serveranwenungs für eine Verbindungslose TCP Kommunikation geschrieben.<br />
Beim anlegen des Sockets traten keine Fehler auf, allerdings später bei der Funktion recvfrom(.....);<br />
Der Error-Code lautet hierbei 10057, was der Fehler bedeutet habe ich im MSDN nachgelesen, allerdings bisher ohne erfolgreich das Problem zu lösen.<br />
Hier ist der Code (komplett):</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;winsock2.h&gt;
#define SERVER_PORT 5432
#define BUF_MAXLEN 256
#pragma comment( lib, &quot;ws2_32.lib&quot; )
#include &lt;iostream&gt;
using namespace std;

long WinsockStartup()
{
	long rc;
WSADATA wsaData; // WSADATA-Objekt erstellen.
WORD wVersionRequested;
wVersionRequested = MAKEWORD(2,1); // zu Verwendene Version: 2.1.
								   // mit MAKEWORD-Makro WORD-Wert erstellen
rc = WSAStartup(wVersionRequested, &amp;wsaData); // WSAStartup aufrufen
return rc;
}

void main()
{
	int rc; /* Variable fuer Rueckgabewerte */
	int al;

	SOCKET sock;
	SOCKADDR_IN addr;
	SOCKADDR_IN sender;

	char buffer[BUF_MAXLEN];

addr.sin_addr.s_addr = 0;
addr.sin_family = AF_INET;
addr.sin_port = htons(SERVER_PORT);

rc = WinsockStartup();

/* Socket anlegen und binden */
sock = socket(AF_INET,SOCK_STREAM,NULL);

bind(sock, (SOCKADDR*)&amp;addr, sizeof addr);

/* In Endlosschleife auf Pakete warten
* */

for( ;; ) {

	printf( &quot;Warten auf naechstes Paket... \\n&quot; );

	al = sizeof sender;
	recvfrom( sock, buffer, sizeof buffer, 0, (SOCKADDR*)&amp;sender, &amp;al);  :warning: hier knallts...
	cout &lt;&lt; WSAGetLastError() &lt;&lt; endl;
	break;
}
}
</code></pre>
<p>Vielleicht weiß ja jemand wos klemmt <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="😉"
    /><br />
Vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117862/ziemlich-kniffliges-socketproblem-verbindungslose-kommunikation</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 16:35:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117862.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Aug 2005 21:58:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Thu, 11 Aug 2005 21:58:00 GMT]]></title><description><![CDATA[<p>Hi, ich habe eine Serveranwenungs für eine Verbindungslose TCP Kommunikation geschrieben.<br />
Beim anlegen des Sockets traten keine Fehler auf, allerdings später bei der Funktion recvfrom(.....);<br />
Der Error-Code lautet hierbei 10057, was der Fehler bedeutet habe ich im MSDN nachgelesen, allerdings bisher ohne erfolgreich das Problem zu lösen.<br />
Hier ist der Code (komplett):</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;winsock2.h&gt;
#define SERVER_PORT 5432
#define BUF_MAXLEN 256
#pragma comment( lib, &quot;ws2_32.lib&quot; )
#include &lt;iostream&gt;
using namespace std;

long WinsockStartup()
{
	long rc;
WSADATA wsaData; // WSADATA-Objekt erstellen.
WORD wVersionRequested;
wVersionRequested = MAKEWORD(2,1); // zu Verwendene Version: 2.1.
								   // mit MAKEWORD-Makro WORD-Wert erstellen
rc = WSAStartup(wVersionRequested, &amp;wsaData); // WSAStartup aufrufen
return rc;
}

void main()
{
	int rc; /* Variable fuer Rueckgabewerte */
	int al;

	SOCKET sock;
	SOCKADDR_IN addr;
	SOCKADDR_IN sender;

	char buffer[BUF_MAXLEN];

addr.sin_addr.s_addr = 0;
addr.sin_family = AF_INET;
addr.sin_port = htons(SERVER_PORT);

rc = WinsockStartup();

/* Socket anlegen und binden */
sock = socket(AF_INET,SOCK_STREAM,NULL);

bind(sock, (SOCKADDR*)&amp;addr, sizeof addr);

/* In Endlosschleife auf Pakete warten
* */

for( ;; ) {

	printf( &quot;Warten auf naechstes Paket... \\n&quot; );

	al = sizeof sender;
	recvfrom( sock, buffer, sizeof buffer, 0, (SOCKADDR*)&amp;sender, &amp;al);  :warning: hier knallts...
	cout &lt;&lt; WSAGetLastError() &lt;&lt; endl;
	break;
}
}
</code></pre>
<p>Vielleicht weiß ja jemand wos klemmt <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="😉"
    /><br />
Vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850473</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Thu, 11 Aug 2005 21:58:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 05:44:52 GMT]]></title><description><![CDATA[<blockquote>
<p>ich habe eine Serveranwenungs für eine Verbindungslose TCP Kommunikation geschrieben.</p>
</blockquote>
<p>Dann nimmt man recv.</p>
<p>Und wo ist listen() und accept()?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850516</guid><dc:creator><![CDATA[socket11]]></dc:creator><pubDate>Fri, 12 Aug 2005 05:44:52 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 05:46:09 GMT]]></title><description><![CDATA[<blockquote>
<p><strong>Verbindungslose</strong> TCP</p>
</blockquote>
<p>Oh jetzt les ich das erstmal...gibts das überhaupt? Ich glaube nicht. <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/850517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850517</guid><dc:creator><![CDATA[socket11]]></dc:creator><pubDate>Fri, 12 Aug 2005 05:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 05:53:38 GMT]]></title><description><![CDATA[<p>UDP ist das was er meinte</p>
<p>MfG Mailmaster</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850519</guid><dc:creator><![CDATA[Mailmaster]]></dc:creator><pubDate>Fri, 12 Aug 2005 05:53:38 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 05:57:05 GMT]]></title><description><![CDATA[<p>ok dann darf er aber nicht SOCK_STREAM nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850521</guid><dc:creator><![CDATA[socket11]]></dc:creator><pubDate>Fri, 12 Aug 2005 05:57:05 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:07:28 GMT]]></title><description><![CDATA[<p>socket11 schrieb:</p>
<blockquote>
<blockquote>
<p>ich habe eine Serveranwenungs für eine Verbindungslose TCP Kommunikation geschrieben.</p>
</blockquote>
<p>Dann nimmt man recv.</p>
<p>Und wo ist listen() und accept()?</p>
</blockquote>
<p>Für eine verbindungslose Kommunikation sind weniger Schritte notwendig, da der Aufbau der Verbindung entfällt. Auf Seiten des Servers wird ein Socket angelegt und mit einem Port verbunden. Der Client legt ebenfalls einen Socket an, den er mit einem Port verknüpfen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850686</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:09:27 GMT]]></title><description><![CDATA[<p>hat sich das problem jetzt erledigt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850687</guid><dc:creator><![CDATA[btw.]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:09:41 GMT]]></title><description><![CDATA[<p>socket11 schrieb:</p>
<blockquote>
<blockquote>
<p><strong>Verbindungslose</strong> TCP</p>
</blockquote>
<p>Oh jetzt les ich das erstmal...gibts das überhaupt? Ich glaube nicht. <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>
</blockquote>
<p>Gibt es das tatsächlich nur für UDP?<br />
Ohh wenn das stimmt weiß ich wo das Problem liegt,<br />
dann setze ich einfach sock = socket(AF_INET,<strong>SOCK_DGRAM</strong>,NULL); --&gt; somit is ne UDP Verbindung erstellt.<br />
Ich werde das gleich mal testen. Hoffentlich liegt sonst kein Fehler im SourceCode vor <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/850688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850688</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:11:46 GMT]]></title><description><![CDATA[<p>socket11 schrieb:</p>
<blockquote>
<blockquote>
<p>ich habe eine Serveranwenungs für eine Verbindungslose TCP Kommunikation geschrieben.</p>
</blockquote>
<p>Dann nimmt man recv.</p>
<p>Und wo ist listen() und accept()?</p>
</blockquote>
<p>Das braucht man doch nur für eine Verbindungsorientierte Kommunikation.</p>
<p>Was meinst du dazu:<br />
*<br />
Für eine verbindungslose Kommunikation sind weniger Schritte notwendig, da der Aufbau der Verbindung entfällt. Auf Seiten des Servers wird ein Socket angelegt und mit einem Port verbunden. Der Client legt ebenfalls einen Socket an, den er mit einem Port verknüpfen kann. In den meisten Fällen ist dies aber nicht notwendig, da die Portnummer vom System automatisch beim ersten Verschicken eines Pakets zugewiesen wird.<br />
Da mit einem Socket jetzt kein festes Ziel verbunden ist, muss die Zieladresse bei jedem Paket explizit angegeben werden. Daher wird anstelle der Funktion send die Funktion sendto verwendet. Die entsprechende Funktion zum Lesen ist recvfrom. Mit dieser Funktion kann ein Programm - <strong>ähnlich wie bei der Funktion accept beschrieben</strong> - Informationen über den Absender abfragen. Allerdings spielt beim Lesen eines Pakets der Unterschied zwischen verbundenen und unverbundenen Sockets eine weniger große Rolle. Die Informationen über den Absender sind optional. Wenn dafür kein Bedarf besteht, kann man auch die schon bekannte Funktion recv verwenden.<br />
*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850689</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:20:39 GMT]]></title><description><![CDATA[<p>Vanatik schrieb:</p>
<blockquote>
<p>socket11 schrieb:</p>
<blockquote>
<blockquote>
<p><strong>Verbindungslose</strong> TCP</p>
</blockquote>
<p>Oh jetzt les ich das erstmal...gibts das überhaupt? Ich glaube nicht. <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>
</blockquote>
<p>Gibt es das tatsächlich nur für UDP?<br />
Ohh wenn das stimmt weiß ich wo das Problem liegt,<br />
dann setze ich einfach sock = socket(AF_INET,<strong>SOCK_DGRAM</strong>,NULL); --&gt; somit is ne UDP Verbindung erstellt.<br />
Ich werde das gleich mal testen. Hoffentlich liegt sonst kein Fehler im SourceCode vor <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>**Du hast Recht!! Es gibt keine Verbindungslose Kommunikation für TCP!!!</p>
<p>Dennoch sind lediglich folgende Funktionen erforderlich:<br />
**</p>
<p>SERVER:<br />
1. Endpunkt anlegen:</p>
<pre><code class="language-cpp">socket()
</code></pre>
<p>2. Adresse festlegen:</p>
<pre><code class="language-cpp">bind()
</code></pre>
<p>3. Daten lesen:</p>
<pre><code class="language-cpp">recvfrom()
</code></pre>
<p>4. Daten schreiben:</p>
<pre><code class="language-cpp">sendto()
</code></pre>
<p>CLIENT:<br />
1. Endpunkt anlegen:</p>
<pre><code class="language-cpp">socket()
</code></pre>
<p>2. Adresse festlegen:</p>
<pre><code class="language-cpp">bind()
</code></pre>
<p>3. Daten lesen:</p>
<pre><code class="language-cpp">recvfrom()
</code></pre>
<p>4. Daten schreiben:</p>
<pre><code class="language-cpp">sendto()
</code></pre>
<p>Vielen Dank für eure Hilfe, war <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/850693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850693</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:23:35 GMT]]></title><description><![CDATA[<p>closesocket ist auch noch erforderlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/850695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850695</guid><dc:creator><![CDATA[klugscheisser]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 10:38:49 GMT]]></title><description><![CDATA[<p>klugscheisser schrieb:</p>
<blockquote>
<p>closesocket ist auch noch erforderlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Stimmt, is auch schon drin <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/850707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850707</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 10:38:49 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 11:24:53 GMT]]></title><description><![CDATA[<p>Ich habe Client und Serverseitig einer Buffer von 256 Zeichen angelegt. Senden und empfangen kann ich aber maximal nur 4 Zeichen.<br />
Woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/850755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850755</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 11:24:53 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 11:28:28 GMT]]></title><description><![CDATA[<p>An UDP? <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/850758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850758</guid><dc:creator><![CDATA[frage?]]></dc:creator><pubDate>Fri, 12 Aug 2005 11:28:28 GMT</pubDate></item><item><title><![CDATA[Reply to Ziemlich kniffliges Socketproblem &#x2F; verbindungslose kommunikation on Fri, 12 Aug 2005 14:45:33 GMT]]></title><description><![CDATA[<p>frage? schrieb:</p>
<blockquote>
<p>An UDP? <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>
</blockquote>
<p>Is ja gaaanz easy: Es liegt nicht an UDP, man sollte nur die Parameter von sendto() aendern... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/850769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/850769</guid><dc:creator><![CDATA[Vanatik]]></dc:creator><pubDate>Fri, 12 Aug 2005 14:45:33 GMT</pubDate></item></channel></rss>