<?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[&amp;quot;netzwerkprotokoll&amp;quot; erstellen]]></title><description><![CDATA[<p>hi leute,<br />
ich bin dabei ein Spiel &quot;Schiffe Versenken&quot; zu programmieren (c++), das über netzwerk funktioniert.</p>
<p>Ich muss jetzt eine Art Protokoll programmieren, welches kenntlich macht, was für Daten gesendet wurden, beispielsweise müssen folgende Daten übertragen werden:</p>
<p>Spiel wird initialisiert (Sende Spielername)<br />
Spielaufbau fertig (Sende Status Bereit)<br />
Chatmessage (Sende Message)<br />
Schuss (Sende Koordinaten an den Gegner)<br />
Beschossen (Erhalte Koordinaten) (Sende Antwort ob Treffer/Versenkt/Verfehlt)<br />
Aufgeben (Sende Status Aufgeben)<br />
usw.</p>
<p>Nun muss kenntlich sein, was für Daten bei mir ankommen und vor allem wann neue Befehle angekommen sind.. mein Ausbilder meinte man könnte dafür z.B. &quot;###Bereit&quot; oder &quot;###Message#Du bist echt gut!&quot; (oder auch ein byte mit hex FF) als kennung neuer Befehle mit dessen Daten übergeben.. wie ist eurer meinung nach die beste Lösung? Die Sockets verwenden AF_INET.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188743/quot-netzwerkprotokoll-quot-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 12:05:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188743.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Aug 2007 11:45:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;netzwerkprotokoll&amp;quot; erstellen on Fri, 03 Aug 2007 11:47:28 GMT]]></title><description><![CDATA[<p>hi leute,<br />
ich bin dabei ein Spiel &quot;Schiffe Versenken&quot; zu programmieren (c++), das über netzwerk funktioniert.</p>
<p>Ich muss jetzt eine Art Protokoll programmieren, welches kenntlich macht, was für Daten gesendet wurden, beispielsweise müssen folgende Daten übertragen werden:</p>
<p>Spiel wird initialisiert (Sende Spielername)<br />
Spielaufbau fertig (Sende Status Bereit)<br />
Chatmessage (Sende Message)<br />
Schuss (Sende Koordinaten an den Gegner)<br />
Beschossen (Erhalte Koordinaten) (Sende Antwort ob Treffer/Versenkt/Verfehlt)<br />
Aufgeben (Sende Status Aufgeben)<br />
usw.</p>
<p>Nun muss kenntlich sein, was für Daten bei mir ankommen und vor allem wann neue Befehle angekommen sind.. mein Ausbilder meinte man könnte dafür z.B. &quot;###Bereit&quot; oder &quot;###Message#Du bist echt gut!&quot; (oder auch ein byte mit hex FF) als kennung neuer Befehle mit dessen Daten übergeben.. wie ist eurer meinung nach die beste Lösung? Die Sockets verwenden AF_INET.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338083</guid><dc:creator><![CDATA[PhiberK]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;netzwerkprotokoll&amp;quot; erstellen on Fri, 03 Aug 2007 13:19:07 GMT]]></title><description><![CDATA[<p>Im Großen und Ganzen musst du glaubich unterscheiden, ob du die Nachrichten in Textform verschickst (wie bei deinen Beispielen, &quot;##Message#Hallo&quot;), oder aber in Binärform (z.B. das erste Byte der Nachricht als &quot;Was-Ist-Das-Für-Eine-Nachricht&quot;, das danachfolgende dem Kontext entsprechend). Die Textform lässt sich vermutlich einfacher implementieren, die Binärform verspricht etwas kleinere Nachrichten, was bei der geringen Datenmenge aber <em>definitiv keine</em> Rolle spielt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338174</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;netzwerkprotokoll&amp;quot; erstellen on Fri, 03 Aug 2007 20:01:54 GMT]]></title><description><![CDATA[<p>Naja... entweder du hältst dich (zumindest grob) an irgendeinen bestehenden Standard (XML, ...), oder du erfindest selbst was.<br />
Wenn du selbst was erfindest würde ich auf jeden Fall was nehmen was einfach zu parsen ist aber trotzdem halbwegs einfach zu lesen...</p>
<p>Könnte z.B. so aussehen:</p>
<pre><code>chat_message(text(&quot;Lalalubb&quot;))

do_fire(coordinates(x(3)y(5)))

fire_result(status(&quot;hit&quot;))
</code></pre>
<p>...oder auch so...</p>
<pre><code>begin
command=&quot;chat_message&quot;
text=&quot;Lalalubb&quot;
end

begin
command=&quot;do_fire&quot;
coordinates.x=3
coordinates.y=5
end

begin
command=&quot;fire_result&quot;
status=&quot;hit&quot;
end
</code></pre>
<p>...oder so...</p>
<pre><code>ChatMessage: &quot;Lalalubb&quot;

DoFire: 3, 5

FireResult: hit
</code></pre>
<p>...oder auch ganz anders.</p>
<p>Ich würde vielleicht die erste Version nehmen, da sowas extrem einfach zu parsen ist.<br />
Noch einfacher zu parsen ist natürlich ein Binärprotokoll, dafür tut man sich beim Debuggen schwerer. Viel schwerer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338385</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 03 Aug 2007 20:01:54 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;netzwerkprotokoll&amp;quot; erstellen on Fri, 03 Aug 2007 20:44:51 GMT]]></title><description><![CDATA[<p>hi,<br />
ein sehr einfaches binärprotokoll ist: <a href="http://en.wikipedia.org/wiki/Type-length-value" rel="nofollow">http://en.wikipedia.org/wiki/Type-length-value</a><br />
verbküffend einfach und fast unendlich erweiterbar.<br />
<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/1338422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338422</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Fri, 03 Aug 2007 20:44:51 GMT</pubDate></item></channel></rss>