<?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: Nachrichten Übertragen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich übertrage über eine Socket Verbindung in beide Richtungen Nachrichten.<br />
Um die Nachrichten zu trennen habe ich mir ein &quot;Trennzeichen&quot; ausgesucht '\'.<br />
Jetzt hab ich das Problem das es das Zeichen '\' nicht in der Nachricht geben kann. Da ich über das System aber auch Dateien übertrage kann so gut wie jedes Zeichen vorkommen.<br />
=&gt; Jetzt gehe ich jedes Mal durch den String beim absenden durch und ersetze '\' durch '\n' =&gt; aus '\' in der Nachricht wird '\n\n'.<br />
Und beim empfangen mach ich das ganze anders herum...</p>
<p>Das ganze funktioniert so weit ganz gut.<br />
Ich habe nur das Problem, das ich jedes Mal durch den ganzen String durchmuss und alles umändern und auf der anderen Seite noch mal... Was die Datenübertragung ganz schön verlangsamt (hab ich so das Gefühl)</p>
<p>Mein Frage ist jetzt folgendes:<br />
Gibt es ein Zeichen welches nicht in einer Datei vorkommen kann? Was ist mit '\0'? Kann ich das über den Socket senden? Oder bin ich mit diesen Ansatz komplett auf den falschen Weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195373/socket-nachrichten-übertragen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 23:53:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195373.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Oct 2007 07:36:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Wed, 17 Oct 2007 07:36:15 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich übertrage über eine Socket Verbindung in beide Richtungen Nachrichten.<br />
Um die Nachrichten zu trennen habe ich mir ein &quot;Trennzeichen&quot; ausgesucht '\'.<br />
Jetzt hab ich das Problem das es das Zeichen '\' nicht in der Nachricht geben kann. Da ich über das System aber auch Dateien übertrage kann so gut wie jedes Zeichen vorkommen.<br />
=&gt; Jetzt gehe ich jedes Mal durch den String beim absenden durch und ersetze '\' durch '\n' =&gt; aus '\' in der Nachricht wird '\n\n'.<br />
Und beim empfangen mach ich das ganze anders herum...</p>
<p>Das ganze funktioniert so weit ganz gut.<br />
Ich habe nur das Problem, das ich jedes Mal durch den ganzen String durchmuss und alles umändern und auf der anderen Seite noch mal... Was die Datenübertragung ganz schön verlangsamt (hab ich so das Gefühl)</p>
<p>Mein Frage ist jetzt folgendes:<br />
Gibt es ein Zeichen welches nicht in einer Datei vorkommen kann? Was ist mit '\0'? Kann ich das über den Socket senden? Oder bin ich mit diesen Ansatz komplett auf den falschen Weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386879</guid><dc:creator><![CDATA[Der_Knob]]></dc:creator><pubDate>Wed, 17 Oct 2007 07:36:15 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Wed, 17 Oct 2007 07:43:23 GMT]]></title><description><![CDATA[<p>hmm, weiß nicht, ich habe auch mal mit Sockets gearbeitet, ich habe dabei zu Beginn einmal | als Treenzeichen verwendet, allerdings fand ich dann eine andere Lösung sinnvoller, die is auch von der Fehleranfälligkeit geringer.<br />
Ich habe zunächst zwei Byte (char-Array: Länge 2), in welchem die Länge des Strings steht, also einfach mit strlen(&lt;str&gt;); ermittelt. Diese werden als erste übertragen. Da weiß der Empfänger dann, wie viele Zeichen er genau vom Socket lesen muss. Anschließend schickt der Sender genau die n Zeichen und der Empfänger erwartet genau n Zeichen. Damit wird gewährleistet, dass beide auch immer alle Zeichen senden/empfangen. Man kann danach auf gleiche Weise noch so was, wie ACKs senden oder so, um zu gewährleisten, dass alles an kam, was gesendet wurde. Ach ja: Bevor irgendwer schreit, ich habe wirklich ein char-Array mit den Zahlen beschrieben und diese auch wirklich als char, wodurch ein Teil des Wertebereichs verloren geht, allerdings erhält man beispielsweise beim Sniffen dann auch schöne Angaben, wie viel Text etc geschickt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386887</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Wed, 17 Oct 2007 07:43:23 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Wed, 17 Oct 2007 12:40:33 GMT]]></title><description><![CDATA[<p>Ok, dann werde ich es mal so probieren... Danke <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387157</guid><dc:creator><![CDATA[Der_Knob]]></dc:creator><pubDate>Wed, 17 Oct 2007 12:40:33 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Thu, 18 Oct 2007 11:16:48 GMT]]></title><description><![CDATA[<p>Noch ne kurze Frage...</p>
<p>&quot;Man kann danach auf gleiche Weise noch so was, wie ACKs senden oder so, um zu gewährleisten, dass alles an kam, was gesendet wurde&quot;</p>
<p>Das wird doch schon durch das TCP/IP Protokoll gewährleisten, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387794</guid><dc:creator><![CDATA[Der_Knob]]></dc:creator><pubDate>Thu, 18 Oct 2007 11:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Thu, 18 Oct 2007 12:21:28 GMT]]></title><description><![CDATA[<p>ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387844</guid><dc:creator><![CDATA[tenchou]]></dc:creator><pubDate>Thu, 18 Oct 2007 12:21:28 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Thu, 18 Oct 2007 12:49:13 GMT]]></title><description><![CDATA[<p>Bloss bekommt bei TCP/IP das Programm das ACK nicht mit.<br />
Wenn man also selbst ein ACK bekommen muss (damit man z.B. übertragene Daten lokal löschen kann) muss man selbst eines schicken.<br />
Geht nicht anders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387885</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 18 Oct 2007 12:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to Socket: Nachrichten Übertragen on Thu, 18 Oct 2007 14:27:37 GMT]]></title><description><![CDATA[<p>ok, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387984</guid><dc:creator><![CDATA[Der_Knob]]></dc:creator><pubDate>Thu, 18 Oct 2007 14:27:37 GMT</pubDate></item></channel></rss>