<?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[Tcp Socket Problem]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>Bin schon wieder mal am Debuggen bzw. Portieren von Linux nach Windows.</p>
<p>Wie gehabt unter Linux läufts unter Windows net, aber diesmal hab ich ein Problem mitn TcpSocket:</p>
<p>Hab ein Sprachübertragungsprogramm geschrieben, welches RTP und RTCP benutzt.<br />
RTP-Seite funtzt eh. RTCP mäßig hab ich unter Windows Probleme.<br />
Allerdings auf der TCP-Handshake Ebene.</p>
<p>Ich bau mit connect eine Verbindung zu meinem Peer auf der mit accept auf einen Anruf wartet.<br />
Zwischen Linux + Linux funtzt. Von Linux nach Windows funtzt. Von Windows nach Linux funktionierts nur einmal und dann bringt mir connect einen Fehler als return Wert.</p>
<p>Die WSAGetLastError() berichtet mir &quot;Error 10057&quot; was so viel heißt wie WSAENOTCONN was soviel heißt wie<br />
&quot;A request to send or receive data was disallowed because the socket is not connected&quot;<br />
was in diesem Fall wiederum gar nix heißt.</p>
<p>S... Fehlermeldung, ich weiß selber, dass ich nicht connected bin, da ja ein connect gerade fehlgeschlagen ist.</p>
<p>Übergeben werden allerdings die richtigen Parameter, dh IP Port usw. (ansonsten würds ja beim ersten mal auch nicht funktionier)</p>
<p>Sprich irgendwie geb ich Resourcen nicht mehr frei.</p>
<p>Allerdings mach ich nach jeder Verbindung einen read write shutdown auf meinen Socket und er sollte somit wieder zur Verfügung stehen.</p>
<p>Meine Socket Option hab ich auch auf reuseable gesetzt.</p>
<pre><code class="language-cpp">char yes = 1;

setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &amp;yes, sizeof(char))
</code></pre>
<p>Interessanter Weise hilfts auch nicht, wenn ich dass Programm beende und erneut starte. Weiterhin schlägt connect zu einem peer der mit accept wartet fehl.</p>
<p>Was allerdings hilft:<br />
- Schließen und Neustart der Console.<br />
- A Zeitchen warten und erneut probieren</p>
<p>Da scheints irgendwie mit der Socketoption reusable nicht zu klappen, allerdings bringt mir das setzen der Gleichen keine Fehlermeldung ein.</p>
<p>Is vielleicht der optlen Parameter sizeof(char) diesbezüglich falsch?<br />
optlen: [in] Size, in bytes, of the optval buffer.</p>
<p>Unter Linux übergebe ich einen int Pointer als yes und nehm dann sizeof(int).<br />
Das hab ich allerdings unter Windows auch schon probiert.</p>
<p>Hat jmd. eine Idee??</p>
<p>mfg zoni</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/94533/tcp-socket-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 00:59:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/94533.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Dec 2004 21:47:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tcp Socket Problem on Thu, 09 Dec 2004 21:47:05 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>Bin schon wieder mal am Debuggen bzw. Portieren von Linux nach Windows.</p>
<p>Wie gehabt unter Linux läufts unter Windows net, aber diesmal hab ich ein Problem mitn TcpSocket:</p>
<p>Hab ein Sprachübertragungsprogramm geschrieben, welches RTP und RTCP benutzt.<br />
RTP-Seite funtzt eh. RTCP mäßig hab ich unter Windows Probleme.<br />
Allerdings auf der TCP-Handshake Ebene.</p>
<p>Ich bau mit connect eine Verbindung zu meinem Peer auf der mit accept auf einen Anruf wartet.<br />
Zwischen Linux + Linux funtzt. Von Linux nach Windows funtzt. Von Windows nach Linux funktionierts nur einmal und dann bringt mir connect einen Fehler als return Wert.</p>
<p>Die WSAGetLastError() berichtet mir &quot;Error 10057&quot; was so viel heißt wie WSAENOTCONN was soviel heißt wie<br />
&quot;A request to send or receive data was disallowed because the socket is not connected&quot;<br />
was in diesem Fall wiederum gar nix heißt.</p>
<p>S... Fehlermeldung, ich weiß selber, dass ich nicht connected bin, da ja ein connect gerade fehlgeschlagen ist.</p>
<p>Übergeben werden allerdings die richtigen Parameter, dh IP Port usw. (ansonsten würds ja beim ersten mal auch nicht funktionier)</p>
<p>Sprich irgendwie geb ich Resourcen nicht mehr frei.</p>
<p>Allerdings mach ich nach jeder Verbindung einen read write shutdown auf meinen Socket und er sollte somit wieder zur Verfügung stehen.</p>
<p>Meine Socket Option hab ich auch auf reuseable gesetzt.</p>
<pre><code class="language-cpp">char yes = 1;

setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &amp;yes, sizeof(char))
</code></pre>
<p>Interessanter Weise hilfts auch nicht, wenn ich dass Programm beende und erneut starte. Weiterhin schlägt connect zu einem peer der mit accept wartet fehl.</p>
<p>Was allerdings hilft:<br />
- Schließen und Neustart der Console.<br />
- A Zeitchen warten und erneut probieren</p>
<p>Da scheints irgendwie mit der Socketoption reusable nicht zu klappen, allerdings bringt mir das setzen der Gleichen keine Fehlermeldung ein.</p>
<p>Is vielleicht der optlen Parameter sizeof(char) diesbezüglich falsch?<br />
optlen: [in] Size, in bytes, of the optval buffer.</p>
<p>Unter Linux übergebe ich einen int Pointer als yes und nehm dann sizeof(int).<br />
Das hab ich allerdings unter Windows auch schon probiert.</p>
<p>Hat jmd. eine Idee??</p>
<p>mfg zoni</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670011</guid><dc:creator><![CDATA[zoni1]]></dc:creator><pubDate>Thu, 09 Dec 2004 21:47:05 GMT</pubDate></item><item><title><![CDATA[Reply to Tcp Socket Problem on Thu, 09 Dec 2004 22:50:42 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=403" rel="nofollow">HumeSikkins</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/670048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670048</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 09 Dec 2004 22:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Tcp Socket Problem on Fri, 10 Dec 2004 11:49:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du erstellst aber schon einen neuen Socket vor jedem connect oder ?</p>
<p>MfG<br />
RB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670239</guid><dc:creator><![CDATA[RED-BARON]]></dc:creator><pubDate>Fri, 10 Dec 2004 11:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to Tcp Socket Problem on Fri, 10 Dec 2004 13:54:29 GMT]]></title><description><![CDATA[<p>Klar mach ich das.<br />
Allerdings mach ich immer ein bind aufs selbe Port vorm connect.<br />
Sozusagen is das Port dann für ne Minute oder so blockiert.</p>
<p>mfg zoni</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670339</guid><dc:creator><![CDATA[zoni1]]></dc:creator><pubDate>Fri, 10 Dec 2004 13:54:29 GMT</pubDate></item></channel></rss>