<?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[winsock =&amp;gt; Binärstring übertragen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe folgendes Problem:</p>
<p>Ich will mit Winsock einen Binärstring übertragen, um Informationen eines Servers abzufragen. Dazu habe ich einen PHP-Code gefunden, der zuerst einen Binärstring an den Server sendet.<br />
In PHP sieht der Binärstring so aus:</p>
<pre><code>$querycommand = pack(&quot;CCCV&quot;, 0xFE, 0xFD, 0x00, 0x7E).pack(&quot;CCC&quot;, 0xFF, 0xFF, 0xFF);
</code></pre>
<p>Ich schreibe das nur, weil es auch sein kann, dass ich den PHP-Befehl pack falsch verstanden habe.</p>
<p>Jedenfalls steht ein C für einen char (8 Bit) und ein V für einen long (32 Bit)</p>
<p>Ich habe daraus in C++ ein Array von 10 chars gemacht und die einzelnen Bytes manuell selbst gesetzt.</p>
<pre><code class="language-cpp">unsigned char buffer[10];
buffer[0] = 0xFE;
buffer[1] = 0xFD;
buffer[2] = 0x00;
buffer[3] = 0x7E;
buffer[4] = 0x00;
buffer[5] = 0x00;
buffer[6] = 0x00;
buffer[7] = 0xFF;
buffer[8] = 0xFF;
buffer[9] = 0xFF;
</code></pre>
<p>unsigned musste ich nehmen, weil sich sonst der Kompiler beschwert hat, dass 0xFF zu groß für einen normalen char ist.</p>
<p>Wenn ich das ganze gez aber über send versenden will, muss ich das ganze ja wieder in einen char* umwandeln (mit nem cast hab ich das gemacht)...</p>
<p>Und ich bekomme nur Müll vom Server zurück. Kann es sein, dass durch das casten Informationen verloren gehen? Oder hab ich bei dem Befehl &quot;pack&quot; was falsch interpretiert?</p>
<p>Wäre nett, wenn mir jemand helfen könnte <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>
<p>SALOMON</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190745/winsock-gt-binärstring-übertragen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 00:42:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190745.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Aug 2007 13:08:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 13:08:36 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe folgendes Problem:</p>
<p>Ich will mit Winsock einen Binärstring übertragen, um Informationen eines Servers abzufragen. Dazu habe ich einen PHP-Code gefunden, der zuerst einen Binärstring an den Server sendet.<br />
In PHP sieht der Binärstring so aus:</p>
<pre><code>$querycommand = pack(&quot;CCCV&quot;, 0xFE, 0xFD, 0x00, 0x7E).pack(&quot;CCC&quot;, 0xFF, 0xFF, 0xFF);
</code></pre>
<p>Ich schreibe das nur, weil es auch sein kann, dass ich den PHP-Befehl pack falsch verstanden habe.</p>
<p>Jedenfalls steht ein C für einen char (8 Bit) und ein V für einen long (32 Bit)</p>
<p>Ich habe daraus in C++ ein Array von 10 chars gemacht und die einzelnen Bytes manuell selbst gesetzt.</p>
<pre><code class="language-cpp">unsigned char buffer[10];
buffer[0] = 0xFE;
buffer[1] = 0xFD;
buffer[2] = 0x00;
buffer[3] = 0x7E;
buffer[4] = 0x00;
buffer[5] = 0x00;
buffer[6] = 0x00;
buffer[7] = 0xFF;
buffer[8] = 0xFF;
buffer[9] = 0xFF;
</code></pre>
<p>unsigned musste ich nehmen, weil sich sonst der Kompiler beschwert hat, dass 0xFF zu groß für einen normalen char ist.</p>
<p>Wenn ich das ganze gez aber über send versenden will, muss ich das ganze ja wieder in einen char* umwandeln (mit nem cast hab ich das gemacht)...</p>
<p>Und ich bekomme nur Müll vom Server zurück. Kann es sein, dass durch das casten Informationen verloren gehen? Oder hab ich bei dem Befehl &quot;pack&quot; was falsch interpretiert?</p>
<p>Wäre nett, wenn mir jemand helfen könnte <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>
<p>SALOMON</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352303</guid><dc:creator><![CDATA[SALOMON]]></dc:creator><pubDate>Sun, 26 Aug 2007 13:08:36 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 13:54:03 GMT]]></title><description><![CDATA[<p>wenn du nach char * einen cast machst, bekommst du eine zeichenkette, die bei \0 einen abschluss findet.</p>
<p>damit kriegst du als ausgabe bei deinem bufferinhalt nur die ersten zwei zeichen. das dritte (0x00) beendet die ausgabe.</p>
<p>könnte es das sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352341</guid><dc:creator><![CDATA[elise]]></dc:creator><pubDate>Sun, 26 Aug 2007 13:54:03 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 15:08:42 GMT]]></title><description><![CDATA[<p>Ja daran habe ich auch schon gedacht, aber ich gebe der send methode ja mit, dass ich 10 bytes übertragen will. Daher denke ich, dass send auch den ganzen Puffer übertragt.</p>
<p>Außerdem würde mir jetzt spontan auch nichts einfallen, wie ich die 0x00 umgehen könnte....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352392</guid><dc:creator><![CDATA[SALOMON]]></dc:creator><pubDate>Sun, 26 Aug 2007 15:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 16:42:23 GMT]]></title><description><![CDATA[<p>wie rufst du send denn auf? es muss so aussehen:<br />
send(s, (const char*)&amp;buffer[0], 10, 0)<br />
dann wirds gehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352435</guid><dc:creator><![CDATA[SkriptProfessor]]></dc:creator><pubDate>Sun, 26 Aug 2007 16:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 17:27:04 GMT]]></title><description><![CDATA[<p>SkriptProfessor schrieb:</p>
<blockquote>
<p>es muss so aussehen:<br />
send(s, (const char*)&amp;buffer[0], 10, 0)</p>
</blockquote>
<p>lol, warum nicht einfach:</p>
<pre><code class="language-cpp">send(s, (const char*)buffer, 10, 0)
</code></pre>
<p><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/1352471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352471</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sun, 26 Aug 2007 17:27:04 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 17:30:37 GMT]]></title><description><![CDATA[<p>statt 10 besser sizeof(buffer).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352474</guid><dc:creator><![CDATA[warum nicht einfach]]></dc:creator><pubDate>Sun, 26 Aug 2007 17:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 18:02:00 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<p>SkriptProfessor schrieb:</p>
<blockquote>
<p>es muss so aussehen:<br />
send(s, (const char*)&amp;buffer[0], 10, 0)</p>
</blockquote>
<p>lol, warum nicht einfach:</p>
<pre><code class="language-cpp">send(s, (const char*)buffer, 10, 0)
</code></pre>
<p><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>
</blockquote>
<p>das ist doch vollkommen egal, mensch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352508</guid><dc:creator><![CDATA[ninkimono]]></dc:creator><pubDate>Sun, 26 Aug 2007 18:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 19:33:10 GMT]]></title><description><![CDATA[<p>So sieht meine send-Funktion aus: (ich verwende sendto, weil es sich um eine UDP-Verbindung handelt...)</p>
<pre><code class="language-cpp">sendto(aao_connection, (const char*)buffer, sizeof(buffer), 0, (const sockaddr*)&amp;addr, sizeof(sockaddr_in));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1352580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352580</guid><dc:creator><![CDATA[SALOMON]]></dc:creator><pubDate>Sun, 26 Aug 2007 19:33:10 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 19:46:49 GMT]]></title><description><![CDATA[<p>ich habs mal in php ausprobiert, der string ist viel länger als 10 zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352592</guid><dc:creator><![CDATA[........]]></dc:creator><pubDate>Sun, 26 Aug 2007 19:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Sun, 26 Aug 2007 19:55:29 GMT]]></title><description><![CDATA[<p>doch nicht. sorry!!!!!</p>
<p>die ausgabe ist</p>
<p>FE FD 00 7E 00 00 00 FF FF FF</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352599</guid><dc:creator><![CDATA[.........]]></dc:creator><pubDate>Sun, 26 Aug 2007 19:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Mon, 27 Aug 2007 19:21:03 GMT]]></title><description><![CDATA[<p>udp soll ja bekanntlich nicht sonderlich zuverlässig sein, aber<br />
wahrscheinlich machst du beim empfangen der daten etwas falsch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353275</guid><dc:creator><![CDATA[hö]]></dc:creator><pubDate>Mon, 27 Aug 2007 19:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Tue, 28 Aug 2007 00:31:26 GMT]]></title><description><![CDATA[<p>Es gibt garkeine UDP Verbindungen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1353428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1353428</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 28 Aug 2007 00:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to winsock =&amp;gt; Binärstring übertragen on Tue, 28 Aug 2007 20:08:55 GMT]]></title><description><![CDATA[<p>ninkimono schrieb:</p>
<blockquote>
<p>CodeFinder schrieb:</p>
<blockquote>
<p>SkriptProfessor schrieb:</p>
<blockquote>
<p>es muss so aussehen:<br />
send(s, (const char*)&amp;buffer[0], 10, 0)</p>
</blockquote>
<p>lol, warum nicht einfach:</p>
<pre><code class="language-cpp">send(s, (const char*)buffer, 10, 0)
</code></pre>
<p><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>
</blockquote>
<p>das ist doch vollkommen egal, mensch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>Jo, und doppelt gemoppelt hält auch besser :p ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354136</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 28 Aug 2007 20:08:55 GMT</pubDate></item></channel></rss>