<?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[Sockets reden nicht miteinander]]></title><description><![CDATA[<p>Hallo zusammen.<br />
Ich bin dabei eine Socketverbindung zwischen Client und Server zu programmieren.<br />
Mein Problem ist, dass die beiden nicht miteinander reden.<br />
Vielleicht könnt ihr mir helfen:</p>
<p>Mein Client:</p>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{

  while(2){
     dgSocket m_dgSocket(&quot;127.0.0.1&quot;, 3011);
     m_dgSocket.connect(&quot;127.0.0.1&quot;, 3011);
     if(!m_dgSocket.IsConnected())
         cout&lt;&lt;&quot;Fehler bei Verbindung&quot;&lt;&lt;endl;
     else
         cout&lt;&lt;&quot;ist verbunden&quot;&lt;&lt;endl;
    }
   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Mein Server:</p>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{
  while (1){

  dgSocket m_dgSocket(3011,true);
  m_dgSocket.listen(3011,false,100);
  if(!m_dgSocket.IsListening())
    cout&lt;&lt;&quot;Fehler bei Server&quot;&lt;&lt;endl;
  else 
    cout&lt;&lt;&quot;is verbtunden&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;warten auf den Client...&quot;&lt;&lt;endl;
    if (!m_dgSocket.isAcceptable())
     cout&lt;&lt;&quot;Verbindung ist fehlgeschlagen&quot;&lt;&lt;endl;
    else
     m_dgSocket.accept();
     cout&lt;&lt;&quot;Client verbunden&quot;&lt;&lt;endl;
  }

   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Starte ich den Server gibt er mir alle meine Ausgaben hintereinander aus.<br />
Was ist da falsch?</p>
<p>Vielen Dank<br />
EvA</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132364/sockets-reden-nicht-miteinander</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 10:46:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132364.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jan 2006 12:28:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 12:28:41 GMT]]></title><description><![CDATA[<p>Hallo zusammen.<br />
Ich bin dabei eine Socketverbindung zwischen Client und Server zu programmieren.<br />
Mein Problem ist, dass die beiden nicht miteinander reden.<br />
Vielleicht könnt ihr mir helfen:</p>
<p>Mein Client:</p>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{

  while(2){
     dgSocket m_dgSocket(&quot;127.0.0.1&quot;, 3011);
     m_dgSocket.connect(&quot;127.0.0.1&quot;, 3011);
     if(!m_dgSocket.IsConnected())
         cout&lt;&lt;&quot;Fehler bei Verbindung&quot;&lt;&lt;endl;
     else
         cout&lt;&lt;&quot;ist verbunden&quot;&lt;&lt;endl;
    }
   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Mein Server:</p>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{
  while (1){

  dgSocket m_dgSocket(3011,true);
  m_dgSocket.listen(3011,false,100);
  if(!m_dgSocket.IsListening())
    cout&lt;&lt;&quot;Fehler bei Server&quot;&lt;&lt;endl;
  else 
    cout&lt;&lt;&quot;is verbtunden&quot;&lt;&lt;endl;
    cout&lt;&lt;&quot;warten auf den Client...&quot;&lt;&lt;endl;
    if (!m_dgSocket.isAcceptable())
     cout&lt;&lt;&quot;Verbindung ist fehlgeschlagen&quot;&lt;&lt;endl;
    else
     m_dgSocket.accept();
     cout&lt;&lt;&quot;Client verbunden&quot;&lt;&lt;endl;
  }

   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Starte ich den Server gibt er mir alle meine Ausgaben hintereinander aus.<br />
Was ist da falsch?</p>
<p>Vielen Dank<br />
EvA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962575</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 12:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 12:34:52 GMT]]></title><description><![CDATA[<p>Erstmal sollte der Client auch etwas schicken, was der Server empfangen könnte - der verbindet nur und verrät dir, ob's geklappt hat, dann beendet er sich.<br />
(btw ist das connect(..) nicht notwendig, wenn der Konstruktor bereits die Verbindung aufbaut)</p>
<p>Zweitens muß der Server auch etwas empfangen, NACHDEM er sich mit dem Client zusammengeschlossen hat - welche Methode ist denn für die Server-Seite des Verbindungsaufbaus zuständig?</p>
<p>PS: für die Lösung deiner Probleme ist es hilfreicher, den Inhalt der Socket-Methoden zu kennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962580</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 10 Jan 2006 12:34:52 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 12:51:05 GMT]]></title><description><![CDATA[<p>Ich habe jetz versucht etwas zu schicken, aber es gibt eine Fehlermeldung:</p>
<pre><code>dgSocket m_dgSocket(&quot;127.0.0.1&quot;, 3011);
     m_dgSocket.connect(&quot;127.0.0.1&quot;, 3011);
     if(!m_dgSocket.IsConnected())
         cout&lt;&lt;&quot;Fehler bei Verbindung&quot;&lt;&lt;endl;
     else
         while(3){cout&lt;&lt;&quot;ist verbunden&quot;&lt;&lt;endl;
         m_dgSocket.write(&quot;test&quot;,2);

    }
</code></pre>
<pre><code>error C2664: 'dgSocket::write' : cannot convert parameter 1 from 'const char [5]' to 'const unsigned char *'
</code></pre>
<p>write ist folgendermaßen definiert:</p>
<blockquote>
<p>virtual int write(const unsigned char* pChars,int nNumber);</p>
</blockquote>
<p>Thanx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962597</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 12:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 12:57:04 GMT]]></title><description><![CDATA[<p>Das Problem ist: char = signed char bei deinem Compiler - deshalb haben String-Literale den Typ &quot;signed char*&quot;. Also entweder du änderst die write-Funktion auf &quot;write(const char* pChars,int nNmuber);&quot;, dann kann der Parameter zugeordnet werden, oder du suchst in der Dokumentation des Compilers heraus, wie man char umstellt auf unsigned.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962603</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 10 Jan 2006 12:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:08:04 GMT]]></title><description><![CDATA[<p>Kalua vllt. erstmal Grundlagen lernen bevor du dich an Sockets wagst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962612</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:17:39 GMT]]></title><description><![CDATA[<p>ok... ich muss den Compiler umstellen.</p>
<p>Laut Handbuch geht das mit /J (Compiler Options). Leider kann ich damit garnichts anfangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962622</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:27:00 GMT]]></title><description><![CDATA[<p>Wie Any schon sagte: Grundlagen</p>
<p>Es fehlen einige Klammern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962635</guid><dc:creator><![CDATA[xindon]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:33:34 GMT]]></title><description><![CDATA[<p>ich habe jetz die Klammern gesetzt. Und richtig: Grundlagen fehlen, aber wie sagt man so schön: Learning by doing. Vielleicht könnt ihr mir trotzdem helfem. Ist doch bestimmt ein klacks für euch <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>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{
  while (1){

      dgSocket m_dgSocket(3011,true);
      m_dgSocket.listen(3011,false,100);
      if(!m_dgSocket.IsListening()){
        cout&lt;&lt;&quot;Fehler bei Server&quot;&lt;&lt;endl;}
      else 
      {cout&lt;&lt;&quot;is verbtunden&quot;&lt;&lt;endl;
         cout&lt;&lt;&quot;warten auf den Client...&quot;&lt;&lt;endl;
         if (!m_dgSocket.isAcceptable()){
            cout&lt;&lt;&quot;Verbindung ist fehlgeschlagen&quot;&lt;&lt;endl;
         else {
            m_dgSocket.accept();
            cout&lt;&lt;&quot;Client verbunden&quot;&lt;&lt;endl;}}}
    }

   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Client:</p>
<pre><code class="language-cpp">int main( int argc, char* argv[])
{
     dgSocket m_dgSocket(&quot;127.0.0.1&quot;, 3011);
    // m_dgSocket.connect(&quot;127.0.0.1&quot;, 3011);
     if(!m_dgSocket.IsConnected())
         cout&lt;&lt;&quot;Fehler bei Verbindung&quot;&lt;&lt;endl;
     else
     if(3){
           cout&lt;&lt;&quot;ist verbunden&quot;&lt;&lt;endl;
           m_dgSocket.write(&quot;test&quot;,2);}

   cvvWaitKey(0);
	return 0;
}
</code></pre>
<p>Wäre supi !!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962640</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:36:30 GMT]]></title><description><![CDATA[<p>CStoll (off) schrieb:</p>
<blockquote>
<p>Das Problem ist: char = signed char bei deinem Compiler - deshalb haben String-Literale den Typ &quot;signed char*&quot;. Also entweder du änderst die write-Funktion auf &quot;write(const char* pChars,int nNmuber);&quot;, dann kann der Parameter zugeordnet werden, oder du suchst in der Dokumentation des Compilers heraus, wie man char umstellt auf unsigned.</p>
</blockquote>
<p>Warum nicht einfach ein cast benutzen?</p>
<pre><code class="language-cpp">m_dgSocket.write(reinterpret_cast&lt;unsigned char *&gt;(&quot;test&quot;),2);
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11916">@kalua31</a><br />
Was ist denn dgSocket für eine Klasse?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962646</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:36:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:43:07 GMT]]></title><description><![CDATA[<p>dgSocket</p>
<pre><code>class dgSocket
{

public:
	enum sockstate_type { LISTENING, ACCEPTED, CONNECTED, INVALID };

	dgSocket();
	bool IsConnected() { return (m_SocketState == CONNECTED ||  m_SocketState == ACCEPTED); };
	bool IsListening() { return (m_SocketState == LISTENING); };
//Client
	dgSocket(const char* pIpAddress, int nPort);

	//Server
	dgSocket(int nPort, bool bLocal = false);

	/// destructor
	virtual ~dgSocket();

	bool connect(const char* pIpAddress,int nPort);

	bool listen(int nPortA, bool bLocal = false, int nBacklogA = 100);

	dgSocket* accept();

	virtual int write(const unsigned char* pChars,int nNumber);
</code></pre>
<p>USW</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962657</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:43:07 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:45:41 GMT]]></title><description><![CDATA[<p>Und die Implementierungen oder eine Doku? Woher hast du diese Klasse? Selber gemacht?</p>
<p>Naja, mit dem reinterpret_cast sollte es eigentlich gehen, schon ausprobiert?</p>
<p>Achja, ich glaube beim zweiten parameter musst du die länge des Strings übergeben, das wäre bei &quot;test&quot; dann 5.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962662</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:56:35 GMT]]></title><description><![CDATA[<p>hmmm es funktioniert immernoch nicht. jetz geht die Shell auf und direkt wieder zu... wo liegt denn der Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962677</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 13:59:07 GMT]]></title><description><![CDATA[<p>kalua31 schrieb:</p>
<blockquote>
<p>hmmm es funktioniert immernoch nicht. jetz geht die Shell auf und direkt wieder zu... wo liegt denn der Fehler?</p>
</blockquote>
<p>Dann ist ein Fehler aufgetreten. Machst du beim Server auch recv()?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962680</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 13:59:07 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 14:23:03 GMT]]></title><description><![CDATA[<p>ich kann nur read und write machen</p>
<p>Er sagt aber socket is not connected und das in Endlos !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962708</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 14:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 14:27:25 GMT]]></title><description><![CDATA[<p>kalua31 schrieb:</p>
<blockquote>
<p>ich kann nur read und write machen</p>
<p>Er sagt aber socket is not connected und das in Endlos !</p>
</blockquote>
<p>Dann liegt das Problem schon beim verbinden. Wie gesagt: Schick mal die Implementierung oder ne DOku der Klasse rüber.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962719</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 14:27:25 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 14:32:42 GMT]]></title><description><![CDATA[<p>ich habe ja keine doku. kann dir nur schicken, was ich vorhin schon gepostet hab<br />
sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962729</guid><dc:creator><![CDATA[kalua31]]></dc:creator><pubDate>Tue, 10 Jan 2006 14:32:42 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets reden nicht miteinander on Tue, 10 Jan 2006 14:47:20 GMT]]></title><description><![CDATA[<p>kalua31 schrieb:</p>
<blockquote>
<p>ich habe ja keine doku. kann dir nur schicken, was ich vorhin schon gepostet hab<br />
sorry</p>
</blockquote>
<p>Und woher kennst du die Klasse?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962743</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 10 Jan 2006 14:47:20 GMT</pubDate></item></channel></rss>