<?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[Async Socket Problem]]></title><description><![CDATA[<p>Ich erstelle zur Zeit eine Socket Anwendung. Leider kommt beim Client / Server nicht das an was ich absende.</p>
<p>Es ist sehr mühsam die Anwendung zu debuggen. Gibt es da einen Trick.</p>
<p>Bisher lasse ich die Anwendung auf zwei Rechner laufen, dabei kann ich dann auf einem Debuggen. Wenn ich Client und Server auf einer Maschine laufen lasse (mit Adresse 127.0.0.1) klappt das mit dem Debugger nicht so richtig.</p>
<p>Gibt es eine Universal Server Anwendung die alles Anzeigt was sie empfängt ??</p>
<p>Oder Tipps, wie man da zur fehlersuche vorgeht ??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197618/async-socket-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 12:59:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197618.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Nov 2007 19:38:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Async Socket Problem on Mon, 12 Nov 2007 19:38:28 GMT]]></title><description><![CDATA[<p>Ich erstelle zur Zeit eine Socket Anwendung. Leider kommt beim Client / Server nicht das an was ich absende.</p>
<p>Es ist sehr mühsam die Anwendung zu debuggen. Gibt es da einen Trick.</p>
<p>Bisher lasse ich die Anwendung auf zwei Rechner laufen, dabei kann ich dann auf einem Debuggen. Wenn ich Client und Server auf einer Maschine laufen lasse (mit Adresse 127.0.0.1) klappt das mit dem Debugger nicht so richtig.</p>
<p>Gibt es eine Universal Server Anwendung die alles Anzeigt was sie empfängt ??</p>
<p>Oder Tipps, wie man da zur fehlersuche vorgeht ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402084</guid><dc:creator><![CDATA[Verwegener]]></dc:creator><pubDate>Mon, 12 Nov 2007 19:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to Async Socket Problem on Wed, 14 Nov 2007 14:55:15 GMT]]></title><description><![CDATA[<p>Je nach Protokoll kannst du es mit telnet versuchen, allerdings funktioniert telnet nur als Client.</p>
<p>Ansonsten 2 Dinge die &quot;sehr gerne&quot; falsch gemacht/verstanden werden wenn es um Sockets geht:</p>
<ol>
<li>
<p>Wenn du 2x 100 byte wegschickst heisst das nicht dass 2x 100 Bytes ankommen. Genausogut können 200 Bytes auf einmal ankommen, oder erst 50 und dann 150, oder 20, dann nochmal 20, dann nochmal 20 etc. Insgesamt werden (wenn die Verbindung nicht zusammenbricht) auf der Gegenseite 200 Bytes ankommen, aber in welchen &quot;Paketen&quot; ist nicht garantiert.</p>
</li>
<li>
<p>Wenn du Send oder Receive mit einem 100 Byte grossen Puffer aufrufst (also als Länge 100 übergibst), und Send/Receive ohne Fehler zurückkommt, dann heisst das nicht dass 100 Bytes übertragen wurden, sondern dass irgendwo zwischen 1 und 100 Byte übertragen wurden.</p>
</li>
</ol>
<p>Daraus folgt:</p>
<ol>
<li>
<p>Wenn du &quot;Pakete&quot; (bzw. &quot;Messages&quot;, &quot;Blöcke&quot;) übertragen willst, dann musst du dir selbst irgendwas ausdenken wie die Empfänger-Seite rausbekommen kann was zu einem &quot;Paket&quot; gehört. Eine Möglichkeit dazu ist z.B. immer 4 Bytes vor jedes &quot;Paket&quot; zu stellen die die Länge der folgenden Daten angeben.<br />
Viele Protokolle (HTTP, SMPT, ...) arbeiten auch Zeilenbasiert, wobei das Ende einer Message dann meist durch eine Leerzeile (&quot;\r\n\r\n&quot;) gekennzeihnet wird.</p>
</li>
<li>
<p>Wenn du genau N Byte senden/empfangen willst, dann musst du Send/Receive z.B. in einer Schleife aufrufen. Bzw. im Falle von CAsyncSocket wirst du keine Schleife, sondern wahrscheinlich OnSend/OnReceive verwenden. Sonst kann es eben passieren dass nur ein Teil der Daten übertragen wird.</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1403128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403128</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 14 Nov 2007 14:55:15 GMT</pubDate></item></channel></rss>