<?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[CAsyncSockets in Feld speichern]]></title><description><![CDATA[<p>Hallo Community,<br />
ich möchte Sockets in einem Feld speichern um mit mindestens 30 Clients Daten auszutauschen. Die Clients werden sich auf Knopfdruck alle gleichzeitig versuchen zu verbinden. Meine erste Frage, geht das überhaupt ohne weiteres mit der CAsyncSocket-Klasse, da ich gehört habe, daß nur 5 Clients gleichzeitig auf Verbindung warten dürfen. Wenn diese akzeptiert wurden können sich doch hoffentlich die nächsten einreihen, ohne viel Schnickschnack? Noch wichtiger ist aber wie ich die Sockets aus OnAccept abspeichern kann. Die Anwendung ist dialogbasierend wie in den meisten onlinetuts. Die m_...sockets sind private deklariert, das Module struct ist global. Ich versuche das so:</p>
<pre><code class="language-cpp">void CMmsDlg::OnAccept(void)
{
struct sockaddr_in client;
socklen_t addrlen = sizeof(client);

m_ListenSocket.Accept(m_ConnectSocket, (struct sockaddr*) &amp;client, &amp;addrlen);
Module[client.sin_addr.S_un.S_un_b.s_b4].s.Attach(m_ConnectSocket.m_hSocket);
}
</code></pre>
<p>Allerdings hängt es dann in der sockcore.cpp an folgender Stelle:</p>
<pre><code class="language-cpp">ASSERT(CAsyncSocket::LookupHandle(hSocket, bDead) == NULL);
</code></pre>
<p>Muss ich Zeiger auf Sockets verwenden und mit FromHandle hantieren? Muss ich irgendwo detachen? Jemand eine Idee? Danke, solarier</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188173/casyncsockets-in-feld-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 07:11:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188173.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jul 2007 12:22:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CAsyncSockets in Feld speichern on Fri, 27 Jul 2007 12:22:55 GMT]]></title><description><![CDATA[<p>Hallo Community,<br />
ich möchte Sockets in einem Feld speichern um mit mindestens 30 Clients Daten auszutauschen. Die Clients werden sich auf Knopfdruck alle gleichzeitig versuchen zu verbinden. Meine erste Frage, geht das überhaupt ohne weiteres mit der CAsyncSocket-Klasse, da ich gehört habe, daß nur 5 Clients gleichzeitig auf Verbindung warten dürfen. Wenn diese akzeptiert wurden können sich doch hoffentlich die nächsten einreihen, ohne viel Schnickschnack? Noch wichtiger ist aber wie ich die Sockets aus OnAccept abspeichern kann. Die Anwendung ist dialogbasierend wie in den meisten onlinetuts. Die m_...sockets sind private deklariert, das Module struct ist global. Ich versuche das so:</p>
<pre><code class="language-cpp">void CMmsDlg::OnAccept(void)
{
struct sockaddr_in client;
socklen_t addrlen = sizeof(client);

m_ListenSocket.Accept(m_ConnectSocket, (struct sockaddr*) &amp;client, &amp;addrlen);
Module[client.sin_addr.S_un.S_un_b.s_b4].s.Attach(m_ConnectSocket.m_hSocket);
}
</code></pre>
<p>Allerdings hängt es dann in der sockcore.cpp an folgender Stelle:</p>
<pre><code class="language-cpp">ASSERT(CAsyncSocket::LookupHandle(hSocket, bDead) == NULL);
</code></pre>
<p>Muss ich Zeiger auf Sockets verwenden und mit FromHandle hantieren? Muss ich irgendwo detachen? Jemand eine Idee? Danke, solarier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333984</guid><dc:creator><![CDATA[solarier]]></dc:creator><pubDate>Fri, 27 Jul 2007 12:22:55 GMT</pubDate></item></channel></rss>