<?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[Bitte nochmal: Multithreaded Server]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiss das das thema hier schon bis zu erbr*** behandelt wurde. Aber ich benötige doch noch mal ne kleine Einführung.</p>
<p>Wenn ich per Socket (CAsynSocket) mehere Clients am Server annehmen will, wie kann man das am besten lösen? Die Schachen die ich bisher gefunden habe sind:</p>
<p>1. NDK 2.0, super sache, würds aber gern alleine können. Scheint auch etwas umständlich zu impolementieren sein, oder?<br />
2. Mit CList / CArray die Nutzer verwalten. Dabei ist hinzufügen ja kein Problem, aber woher weiss ich welche Station welche Position in der dynamischen Liste hat? Da müsste man ja immer den Namen der Station / IP Adresse &quot;mitschleppen&quot; oder? Man kann sonst nicht eine bestimmte Station aus der Liste löschen.<br />
3. Richtig ordentlich mit CSocket und für jede Connection einen Thread starten?<br />
4. Einfach 1000 mal eine Instanz von CASyncSocket anlegen... (war nur spass).</p>
<p>Das von mir, damit keiner auf die Suchfunktion oder Faulheit verweist.<br />
Ich wäre für Quellcode sehr dankbar.</p>
<p>MfG Torsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/44525/bitte-nochmal-multithreaded-server</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 10:52:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/44525.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Jul 2003 19:54:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bitte nochmal: Multithreaded Server on Thu, 31 Jul 2003 19:54:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiss das das thema hier schon bis zu erbr*** behandelt wurde. Aber ich benötige doch noch mal ne kleine Einführung.</p>
<p>Wenn ich per Socket (CAsynSocket) mehere Clients am Server annehmen will, wie kann man das am besten lösen? Die Schachen die ich bisher gefunden habe sind:</p>
<p>1. NDK 2.0, super sache, würds aber gern alleine können. Scheint auch etwas umständlich zu impolementieren sein, oder?<br />
2. Mit CList / CArray die Nutzer verwalten. Dabei ist hinzufügen ja kein Problem, aber woher weiss ich welche Station welche Position in der dynamischen Liste hat? Da müsste man ja immer den Namen der Station / IP Adresse &quot;mitschleppen&quot; oder? Man kann sonst nicht eine bestimmte Station aus der Liste löschen.<br />
3. Richtig ordentlich mit CSocket und für jede Connection einen Thread starten?<br />
4. Einfach 1000 mal eine Instanz von CASyncSocket anlegen... (war nur spass).</p>
<p>Das von mir, damit keiner auf die Suchfunktion oder Faulheit verweist.<br />
Ich wäre für Quellcode sehr dankbar.</p>
<p>MfG Torsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/322123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/322123</guid><dc:creator><![CDATA[TorstenM]]></dc:creator><pubDate>Thu, 31 Jul 2003 19:54:19 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte nochmal: Multithreaded Server on Thu, 31 Jul 2003 21:40:41 GMT]]></title><description><![CDATA[<p>zu 1.)<br />
war mir auch zu umständlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>also bin ich zu 2.) umgestiegen</p>
<p>zu 2.)<br />
Du kannst mit der Funktion GetPeerName(...) herausfinden von wem die Nachricht kommt -&gt; denjenigen suchst du einfach im Array.<br />
Am besten nimmst du ein CObArray.</p>
<p>Bestimmte User löschen kannst du dann einfach indem du über den Namen die Position im Array feststellst und dann m_oaUserList.RemoveAt(nPos) aufrufst.<br />
(m_oaUserList -&gt; CObArray)</p>
<p>zu 3.) Leider kA davon.</p>
<p>zu 4.) Lass das lieber <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p><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/322196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/322196</guid><dc:creator><![CDATA[CrazyOwl]]></dc:creator><pubDate>Thu, 31 Jul 2003 21:40:41 GMT</pubDate></item><item><title><![CDATA[Reply to Bitte nochmal: Multithreaded Server on Fri, 01 Aug 2003 04:21:31 GMT]]></title><description><![CDATA[<p>Du musst nur das Socketobjekt in einer Liste speichern.<br />
Bei jedem Connect erstellst du einen neuen Socket der natürlich auch mit einer von CAsyncSocket abgeleitetetn Klasse berbunden ist.</p>
<p>Sollte jetzt eine Message reinkommen wird von der AsyncSocketklasse eine Nachricht mit dem Socketobject an den Dialog gesendet. Dies abfangen und in der Soeicherklasse den Socket suchen. Somit hast du wieder die Daten des Clienten.<br />
Also ist eigentlich 4 fast genau richtig. Ein Server mit 1000 Clienten läuft sowieso nicht auf einem Pentium celeron 300 mit 128 MB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/322282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/322282</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 01 Aug 2003 04:21:31 GMT</pubDate></item></channel></rss>