<?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[Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;)]]></title><description><![CDATA[<p>Hallo ich habe folgendes Problem,</p>
<p>Ich wollte mal ganz nett fragen, ob mir jemand bei folgender Funktion helfen kann. Diese Funktion Sendet einen Klartext (OSC_WELCOME[1024]) zurzeit als Char[]... (funktioniert auch wie es soll, ist aber nicht die Lösung bzgl dem verketten)</p>
<p>Das Problem was ich jedoch damit habe, ich MUSS das Paket und Nachricht mit 1024 bzw 4096 aufblähen (Speicher-verschwenung).<br />
Naja nicht ganz, der Zeiger (_offset) steht am &quot;ende der Nachricht im Paket&quot;. Nur macht sich das ersetzen des Textes, weil es ein Template sein soll als Char (daher wollte ich Strings nutzen) ziemlich doof.<br />
Dies bezlüglich wollte mal fragen, wie ich die stellen (mit &quot;//****//&quot;) vermerkt umstellen kann, so dass die Nachricht als string im Klartext gesendet wird.</p>
<p>wenn ich das mit &quot;String&quot; mache, ist die Nachricht statt 745 Byte nur etwas über 40 Byte (obwohl sie 100%tig größer sein müsste bei 750 Zeichen) groß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Die Dateien, die das Windows Netzwerkinstallations-Setup nutzt sehen so aus:</p>
<pre><code>&lt;OSCML&gt;
&lt;META KEY=ENTER HREF=&quot;LOGIN&quot;&gt;
&lt;META KEY=F3 ACTION=&quot;REBOOT&quot;&gt;
&lt;META KEY=ESC HREF=&quot;LOGIN&quot;&gt;
&lt;META KEY=F1 HREF=&quot;LOGIN&quot;&gt;
&lt;TITLE&gt;  Client Installation Wizard                                           Welcome&lt;/TITLE&gt;
&lt;FOOTER&gt;  [ENTER] continue &lt;/FOOTER&gt;
&lt;BODY left=5 right=75&gt;
&lt;BR&gt;
&lt;BR&gt;
&lt;BR&gt;
Welcome to the Client Installation wizard. This wizard helps you quickly and easily set up a
new operating system on your computer. You can also use this wizard to keep your computer
up-to-date and to troubleshoot computer hardware problems.
&lt;BR&gt;
&lt;BR&gt;
In the wizard, you are asked to use a valid user name, password, and domain name to log on to the network. If you do not have this information, contact your network administrator before continuing.
&lt;/BODY&gt;
&lt;/OSCML&gt;
</code></pre>
<p>Und Der Client zeigt nur ein Blaues Bild ohne den Text im Body (ist ja sein hintergrund XD).</p>
<p>In WireShark ist nur ... der Kopf enthalten und das Windows Setup ist jedoch ohne Text =(.</p>
<p><a href="http://i.technet.microsoft.com/dynimg/IC197888.gif" rel="nofollow">http://i.technet.microsoft.com/dynimg/IC197888.gif</a></p>
<p>Das Template ist für das anzeigen dieses Textes zuständig.</p>
<p>Kann mir da jemand helfen?</p>
<pre><code>int Handle_OSC_File_Request(int con, char * data)
{
    uint32_t _type = 0, _value = 0;
    char unk[28];
    uint32_t _offset = 0;

    // Dummy-Text :)
    char OSC_WELCOME[1024] = &quot;&lt;OSCML&gt;&lt;META KEY=F3 ACTION=\&quot;REBOOT\&quot;&gt;&lt;TITLE&gt;  [OSC_HEADER_TITLE]  &lt;/TITLE&gt;&lt;FOOTER&gt;[FOOTER_TEXT]&lt;/FOOTER&gt;&lt;BODY left=5 right=75&gt;[OSC_MESSAGE_BODY]&lt;/BODY&gt;&lt;/OSCML&gt;&quot;;

    cout &lt;&lt; &quot;Angeforderte Datei: &quot; &lt;&lt; SWAB32(&amp;data[0x28]) &lt;&lt; endl; // funktioniert auch net =(

    char * _end = 0;

    char packet[4096];
    memset(packet, 0, sizeof(packet));

    memcpy(&amp;unk, &amp;data[0x08], sizeof(unk));

    _type = SWAB32(PKT_OSC_RES); // SWAB32 tut folgendes: &quot;0x87654321&quot; -&gt; &quot;0x12345678&quot;
    memcpy(packet, &amp;_type, sizeof(_type));
    _offset += sizeof(_type);

    /* Packetlänge wird wegen der Message am ende gesetzt, da wir nicht wissen wie groß das Packet wirklich ist =/ */
    _offset += 0x4;
    memcpy(&amp;packet[_offset], &amp;unk, sizeof(unk));

    /* OSC-Datei einfügen als Klartext einfügen (ohne umzudrehen) */
    _offset += sizeof(unk);
    memcpy(&amp;packet[_offset],OSC_WELCOME,sizeof(OSC_WELCOME)); // OSC_WELCOME Message hier einfügen &lt;.&lt;&quot;          //****//

    /* das &quot;\n&quot; &quot;End of Packet&quot; setzen */
    _offset += sizeof(OSC_WELCOME);
    memcpy(&amp;packet[_offset],&amp;_end,sizeof(_end));

    /* Jetzt die Paket-Größe (ohne Kopfdaten an 0x4 setzen), _offset gibt jetzt das ende des Pakets an :) */
    _value = SWAB32(_offset);
    memcpy(&amp;packet[0x4], &amp;_value, sizeof(_value));

    // Da _offset genau am Ende der ganzen Nachricht steht, schneide ich hier ab und nehme es als &quot;Länge&quot; ;)
    // Con gibt die aktuille &quot;socketfd-int&quot; an...

   Send_PKT(con,packet,_offset);

    return errno;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/323417/funktionsumbau-von-char-zu-string-macht-probleme-udp-packete-haben-nur-die-hälfte-der-daten-gt-lt</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 02:43:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323417.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jan 2014 11:25:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 11:48:54 GMT]]></title><description><![CDATA[<p>Hallo ich habe folgendes Problem,</p>
<p>Ich wollte mal ganz nett fragen, ob mir jemand bei folgender Funktion helfen kann. Diese Funktion Sendet einen Klartext (OSC_WELCOME[1024]) zurzeit als Char[]... (funktioniert auch wie es soll, ist aber nicht die Lösung bzgl dem verketten)</p>
<p>Das Problem was ich jedoch damit habe, ich MUSS das Paket und Nachricht mit 1024 bzw 4096 aufblähen (Speicher-verschwenung).<br />
Naja nicht ganz, der Zeiger (_offset) steht am &quot;ende der Nachricht im Paket&quot;. Nur macht sich das ersetzen des Textes, weil es ein Template sein soll als Char (daher wollte ich Strings nutzen) ziemlich doof.<br />
Dies bezlüglich wollte mal fragen, wie ich die stellen (mit &quot;//****//&quot;) vermerkt umstellen kann, so dass die Nachricht als string im Klartext gesendet wird.</p>
<p>wenn ich das mit &quot;String&quot; mache, ist die Nachricht statt 745 Byte nur etwas über 40 Byte (obwohl sie 100%tig größer sein müsste bei 750 Zeichen) groß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Die Dateien, die das Windows Netzwerkinstallations-Setup nutzt sehen so aus:</p>
<pre><code>&lt;OSCML&gt;
&lt;META KEY=ENTER HREF=&quot;LOGIN&quot;&gt;
&lt;META KEY=F3 ACTION=&quot;REBOOT&quot;&gt;
&lt;META KEY=ESC HREF=&quot;LOGIN&quot;&gt;
&lt;META KEY=F1 HREF=&quot;LOGIN&quot;&gt;
&lt;TITLE&gt;  Client Installation Wizard                                           Welcome&lt;/TITLE&gt;
&lt;FOOTER&gt;  [ENTER] continue &lt;/FOOTER&gt;
&lt;BODY left=5 right=75&gt;
&lt;BR&gt;
&lt;BR&gt;
&lt;BR&gt;
Welcome to the Client Installation wizard. This wizard helps you quickly and easily set up a
new operating system on your computer. You can also use this wizard to keep your computer
up-to-date and to troubleshoot computer hardware problems.
&lt;BR&gt;
&lt;BR&gt;
In the wizard, you are asked to use a valid user name, password, and domain name to log on to the network. If you do not have this information, contact your network administrator before continuing.
&lt;/BODY&gt;
&lt;/OSCML&gt;
</code></pre>
<p>Und Der Client zeigt nur ein Blaues Bild ohne den Text im Body (ist ja sein hintergrund XD).</p>
<p>In WireShark ist nur ... der Kopf enthalten und das Windows Setup ist jedoch ohne Text =(.</p>
<p><a href="http://i.technet.microsoft.com/dynimg/IC197888.gif" rel="nofollow">http://i.technet.microsoft.com/dynimg/IC197888.gif</a></p>
<p>Das Template ist für das anzeigen dieses Textes zuständig.</p>
<p>Kann mir da jemand helfen?</p>
<pre><code>int Handle_OSC_File_Request(int con, char * data)
{
    uint32_t _type = 0, _value = 0;
    char unk[28];
    uint32_t _offset = 0;

    // Dummy-Text :)
    char OSC_WELCOME[1024] = &quot;&lt;OSCML&gt;&lt;META KEY=F3 ACTION=\&quot;REBOOT\&quot;&gt;&lt;TITLE&gt;  [OSC_HEADER_TITLE]  &lt;/TITLE&gt;&lt;FOOTER&gt;[FOOTER_TEXT]&lt;/FOOTER&gt;&lt;BODY left=5 right=75&gt;[OSC_MESSAGE_BODY]&lt;/BODY&gt;&lt;/OSCML&gt;&quot;;

    cout &lt;&lt; &quot;Angeforderte Datei: &quot; &lt;&lt; SWAB32(&amp;data[0x28]) &lt;&lt; endl; // funktioniert auch net =(

    char * _end = 0;

    char packet[4096];
    memset(packet, 0, sizeof(packet));

    memcpy(&amp;unk, &amp;data[0x08], sizeof(unk));

    _type = SWAB32(PKT_OSC_RES); // SWAB32 tut folgendes: &quot;0x87654321&quot; -&gt; &quot;0x12345678&quot;
    memcpy(packet, &amp;_type, sizeof(_type));
    _offset += sizeof(_type);

    /* Packetlänge wird wegen der Message am ende gesetzt, da wir nicht wissen wie groß das Packet wirklich ist =/ */
    _offset += 0x4;
    memcpy(&amp;packet[_offset], &amp;unk, sizeof(unk));

    /* OSC-Datei einfügen als Klartext einfügen (ohne umzudrehen) */
    _offset += sizeof(unk);
    memcpy(&amp;packet[_offset],OSC_WELCOME,sizeof(OSC_WELCOME)); // OSC_WELCOME Message hier einfügen &lt;.&lt;&quot;          //****//

    /* das &quot;\n&quot; &quot;End of Packet&quot; setzen */
    _offset += sizeof(OSC_WELCOME);
    memcpy(&amp;packet[_offset],&amp;_end,sizeof(_end));

    /* Jetzt die Paket-Größe (ohne Kopfdaten an 0x4 setzen), _offset gibt jetzt das ende des Pakets an :) */
    _value = SWAB32(_offset);
    memcpy(&amp;packet[0x4], &amp;_value, sizeof(_value));

    // Da _offset genau am Ende der ganzen Nachricht steht, schneide ich hier ab und nehme es als &quot;Länge&quot; ;)
    // Con gibt die aktuille &quot;socketfd-int&quot; an...

   Send_PKT(con,packet,_offset);

    return errno;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380350</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 11:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 11:47:51 GMT]]></title><description><![CDATA[<p>Was ist denn dein Ansatz mit string?<br />
Du hast hier nur ein sehr unlsebarer C-code, in den ich mich gar nicht erst einarbeiten will. Zeig mal, was du versucht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380352</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Wed, 29 Jan 2014 11:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:22:02 GMT]]></title><description><![CDATA[<p>Mache ich das so:</p>
<pre><code>string OSC_WELCOME = &quot;&lt;OSCML&gt;&lt;META KEY=F3 ACTION=\&quot;REBOOT\&quot;&gt;&lt;TITLE&gt;  [OSC_HEADER_TITLE]  &lt;/TITLE&gt;&lt;FOOTER&gt;[FOOTER_TEXT]&lt;/FOOTER&gt;&lt;BODY left=5 right=75&gt;[OSC_MESSAGE_BODY]&lt;/BODY&gt;&lt;/OSCML&gt;&quot;;
</code></pre>
<pre><code>memcpy(&amp;packet[_offset],OSC_WELCOME,sizeof(OSC_WELCOME));
</code></pre>
<p>sagt der compiler: (mips-linux-g++):</p>
<pre><code>In function ‘int Handle_OSC_File_Request(int, char*)’:|
error: cannot convert ‘std::string {aka std::basic_string&lt;char&gt;}’ to ‘const void*’ for argument ‘2’ to ‘void* memcpy(void*, const void*, size_t)’|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 0 seconds) ===|
</code></pre>
<p>Versuche ich das gleiche jedoch mit:</p>
<pre><code>memcpy(&amp;packet[_offset],&amp;OSC_WELCOME,sizeof(OSC_WELCOME));
</code></pre>
<p>compiliert er fehlerfrei durch sendet aber nur 40 Bytes:</p>
<pre><code>[DEBUG]: Received 37 Bytes from the client...
[INFO]: GetPacketType: Got OSC-File Request!
[INFO]: Angeforderte Datei: 188577089 &lt;------ sollte eigentlich etwas anzeigen wie &quot;LOGIN&quot;
[INFO]: send 40 Bytes.. &lt;------ 40 Bytes (als Chars sind es 1060)
^C
</code></pre>
<p>hab alles richtig addressiert so wie es hier unter &quot;RSU-File Reply&quot; beschrieben ist: <a href="http://oss.netfarm.it/guides/binl.php" rel="nofollow">http://oss.netfarm.it/guides/binl.php</a> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>in Wireshark sieht mein packet als String nur so aus:</p>
<pre><code>00000000  82 52 53 55 a5 03 00 00  02 00 00 00 01 00 01 00  |.RSU............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 3c 4f 53 43  00 00 00 00 00 00 00 00  |....&lt;OSC........|
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380355</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:29:46 GMT]]></title><description><![CDATA[<p>Du versuchst einen std::strings per memcpy zu kopieren, was nicht funktionieren kann. Strings haben ihre eigenen Kopierfunktionen. Ist <em>packet</em> jetzt auch ein string?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380362</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:35:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">memcpy(&amp;packet[_offset],OSC_WELCOME,sizeof(OSC_WELCOME));
</code></pre>
<p>Du willst</p>
<pre><code class="language-cpp">memcpy(&amp;packet[_offset],&amp;OSC_WELCOME[0],OSC_WELCOME.length());
</code></pre>
<p>vorausgesetzt <code>packet</code> ist ein <code>char</code> -Array.</p>
<p>Warum? Zu den Grundlagen gehts hier lang =&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380366</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:34:25 GMT]]></title><description><![CDATA[<p>Eventuell möchtest du folgendes machen:</p>
<pre><code>OSC_WELCOME.copy(&amp;packet[_offset],OSC_WELCOME.length());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380367</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:38:14 GMT]]></title><description><![CDATA[<p>packet ist char[4096];<br />
data ist ebenfalls char[1024];</p>
<p>hab das extra schon in seperate Functione gepackt um die Übersicht zu behalten xD<br />
(PAcket ermitteln, bauen und senden sowie empfangen ... hat mich auch einige nächte gekostet... da mal hinterzusteigen, wie man das macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380368</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 12:37:58 GMT]]></title><description><![CDATA[<p>LipkeGu schrieb:</p>
<blockquote>
<p>packet ist char[4024];</p>
</blockquote>
<p>In den Fall funktioniert das was ich geschrieben habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380369</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 29 Jan 2014 12:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 13:23:41 GMT]]></title><description><![CDATA[<p>Habe ich probiert, musste aber das offset FIX (0x24) angeben (ist eh immer bei 0x24)</p>
<pre><code>OSC_WELCOME.copy(&amp;packet[0x24],OSC_WELCOME.length());
</code></pre>
<p>und zeigt auch den text in wireshark komplett an <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/2380376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380376</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 13:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 14:34:07 GMT]]></title><description><![CDATA[<p>Bei mir ergibt sich nicht ganz der Sinn, warum du von data nach unk kopierst und dann von unk in den buffer. Stattdessen kannst du doch direkt kopieren.<br />
Zudem solltest du den Buffer gleich als string aufbauen.</p>
<pre><code>char packet[4096];
    memset(packet, 0, sizeof(packet));

    memcpy(&amp;unk, &amp;data[0x08], sizeof(unk));

    _type = SWAB32(PKT_OSC_RES); // SWAB32 tut folgendes: &quot;0x87654321&quot; -&gt; &quot;0x12345678&quot;
    memcpy(packet, &amp;_type, sizeof(_type));
    _offset += sizeof(_type);
</code></pre>
<p>kannst du z.B. als</p>
<pre><code>string packet;

    // memcpy(&amp;unk, &amp;data[0x08], sizeof(unk)); // ???

    uint32_t _type = SWAB32(PKT_OSC_RES); // SWAB32 tut folgendes: &quot;0x87654321&quot; -&gt; &quot;0x12345678&quot;
    packet += string(static_cast&lt;const char*&gt;(&amp;_type), sizeof(_type));
    // offset ist hier einfach packet.size()
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2380412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380412</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Wed, 29 Jan 2014 14:34:07 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 16:36:47 GMT]]></title><description><![CDATA[<p>Ja das kann man probieren, man sollte bedenken, der wurde mal in C geschrieben, da war das noch nicht so mit casten was die heide gibt!</p>
<p>Aber kurz mal um zu erklären was das fürn Programm ist:</p>
<p>Das ist ein BINL-Server der dem Windows 2000/XP/2003 sagt (wenn man das Setup über Netzwerk startet, welchen Netzwerkarten es zu laden hat (zu dem gleichen zeitpunkt wo auch SATA-Treiber geladen werden müssten (textmode-Setup).</p>
<p>Der BINL-Server ist gedacht, dass er auf nen Router mit openWRT läuft (MIPS.Architektur) 64 MB-Ram und 16MB Flash...</p>
<p>daher wollte ich da schon schauen, so gut wie möglich Speicher zu sparen. Der C-Code ist nebenher 7 jahre alt (Ich hab den nur mal weiter geschrieben)</p>
<p>Ich hab zumindest den code versucht zu erweitern (nach dem ursprünglichen Code Style damit der Wizard im PXE läuft.</p>
<p>Mit der Zeit kann man da fast alles &quot;Runderneuern&quot; Nur ich bin nicht nen fan von .NET C++ und c#. Da ich Linux zum Programmieren benutze, weil eben OpenWRT auf dem Router läuft... macht sich das besser.</p>
<p>Wenn du das packet so parst als String-Buffer kommt bei dir auch das gleiche ergenis, wie auf <a href="http://netfarm.it" rel="nofollow">netfarm.it</a> beschrieben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title="=/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380447</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 16:36:47 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 16:20:34 GMT]]></title><description><![CDATA[<p>Warum sollte ein char[] etwas können, das man mit string nicht lösen kann? Es ist doch eigentlich das gleiche, nur das string viel mehr FUnktionalität anbietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380451</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Wed, 29 Jan 2014 16:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 16:50:30 GMT]]></title><description><![CDATA[<p>Das geht mir nicht um den Char, das geht mir um das INT16_T und INT32_T<br />
das alles ist little Endian das meiste aber auch BIG-Endian.</p>
<p>uint32_t... muss so gesendet werden...</p>
<pre><code>#define PKT_NCQ_REQ         0x51434e81  /* Network Card Query */
#define PKT_NCR_RES         0x52434e82  /* Network Card Reply */

#define PKT_OSC_REQ         0x55515281  /* OSC File request */
#define PKT_OSC_RES         0x55535282  /* OSC File reply */
</code></pre>
<p>SWAP32 wäre auch unütz, man müsste nur das umdrehen... bestimmt wegen BIG-Endian...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380458</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Wed, 29 Jan 2014 16:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsumbau von char zu String macht Probleme (UDP-Packete haben nur die hälfte der Daten &amp;gt;.&amp;lt;) on Wed, 29 Jan 2014 16:47:12 GMT]]></title><description><![CDATA[<blockquote>
<p>so gut wie möglich Speicher zu sparen</p>
</blockquote>
<p>Und da nimmst du C++?</p>
<blockquote>
<p>das alles ist little Endian das meiste aber auch BIG_Endian</p>
</blockquote>
<p>Wo willst du was wie konvertieren? warum geht das nicht Inplace?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2380463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2380463</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 29 Jan 2014 16:47:12 GMT</pubDate></item></channel></rss>