<?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[Server--&amp;gt; client String übertragen.]]></title><description><![CDATA[<p>Hello,</p>
<p>Ich habe ein Beispiel von diesem Forum folgende Beispiel ausprobiert:</p>
<p>char txbuffer[4] = {&quot;123&quot;};<br />
char rxbuffer[4];<br />
void __fastcall TForm1::FormCreate(TObject *Sender)<br />
{<br />
ServerSocket1-&gt;Port = 5000;<br />
ServerSocket1-&gt;Active = true;<br />
ClientSocket1-&gt;Port = 5000;<br />
ClientSocket1-&gt;Host = &quot;localhost&quot;;<br />
ClientSocket1-&gt;Active = true;<br />
}<br />
//---------------------------------------------------------------------------</p>
<p>void __fastcall TForm1::Button1Click(TObject *Sender)<br />
{<br />
ServerSocket1-&gt;Socket-&gt;Connections[0]-&gt;SendBuf(txbuffer,4);<br />
ClientSocket1-&gt;Socket-&gt;ReceiveBuf(rxbuffer,4);<br />
Edit1-&gt;Text = rxbuffer;<br />
}</p>
<p>Solange alles in eine Form sind alles Funktioniert. Ich will aber 2 Datei haben.damit auf einen anderen Rechner übertragen kann.<br />
Meine Frage ist: muss ich auf beidem Form server &amp; client socket unter bringen?</p>
<p>wenn nein. sendet man von client zu Server? order Server zu Client?<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/topic/92275/server-gt-client-string-übertragen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 11:41:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/92275.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Nov 2004 19:20:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Tue, 16 Nov 2004 19:20:17 GMT]]></title><description><![CDATA[<p>Hello,</p>
<p>Ich habe ein Beispiel von diesem Forum folgende Beispiel ausprobiert:</p>
<p>char txbuffer[4] = {&quot;123&quot;};<br />
char rxbuffer[4];<br />
void __fastcall TForm1::FormCreate(TObject *Sender)<br />
{<br />
ServerSocket1-&gt;Port = 5000;<br />
ServerSocket1-&gt;Active = true;<br />
ClientSocket1-&gt;Port = 5000;<br />
ClientSocket1-&gt;Host = &quot;localhost&quot;;<br />
ClientSocket1-&gt;Active = true;<br />
}<br />
//---------------------------------------------------------------------------</p>
<p>void __fastcall TForm1::Button1Click(TObject *Sender)<br />
{<br />
ServerSocket1-&gt;Socket-&gt;Connections[0]-&gt;SendBuf(txbuffer,4);<br />
ClientSocket1-&gt;Socket-&gt;ReceiveBuf(rxbuffer,4);<br />
Edit1-&gt;Text = rxbuffer;<br />
}</p>
<p>Solange alles in eine Form sind alles Funktioniert. Ich will aber 2 Datei haben.damit auf einen anderen Rechner übertragen kann.<br />
Meine Frage ist: muss ich auf beidem Form server &amp; client socket unter bringen?</p>
<p>wenn nein. sendet man von client zu Server? order Server zu Client?<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/653571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653571</guid><dc:creator><![CDATA[smathi]]></dc:creator><pubDate>Tue, 16 Nov 2004 19:20:17 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Tue, 16 Nov 2004 19:48:25 GMT]]></title><description><![CDATA[<p>Am besten siehst du dir mal das Chat-Beispiel im Ordner %BCB%\Examples\Internet an!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/653599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653599</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Tue, 16 Nov 2004 19:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Tue, 16 Nov 2004 21:04:26 GMT]]></title><description><![CDATA[<p>Vielen Danke Gruß S.Mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/653638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653638</guid><dc:creator><![CDATA[smathi]]></dc:creator><pubDate>Tue, 16 Nov 2004 21:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Sun, 21 Nov 2004 12:07:50 GMT]]></title><description><![CDATA[<p>Folgendes funktioniert:</p>
<p>Es werden jeweils die Trackbar-&gt;Position des Servers zum Client sowie<br />
die TrackBar-&gt;Position des Clients zum Server übertragen.</p>
<pre><code class="language-cpp">//-----------------------------------------------
// Client IP 192.168.2.101
//-----------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

     ClientSocket1-&gt;Active = false;
     ClientSocket1-&gt;Port = 5000;
     ClientSocket1-&gt;Address = &quot;192.168.2.101&quot;;    //IP des Clients oder &quot;localhost&quot; 
     ClientSocket1-&gt;Host    = &quot;192.168.2.100&quot;;   //IP des Servers (Bei gleichem Rechner &quot;localhost&quot;
     ClientSocket1-&gt;Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
      TCustomWinSocket *Socket)
{
     ClientSocket1-&gt;Socket-&gt;ReceiveBuf(&amp;a,2);		//Daten vom Server
     Edit1-&gt;Text = a;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
     test = TrackBar1-&gt;Position;
     Edit1-&gt;Text = TrackBar1-&gt;Position;
     ClientSocket1-&gt;Socket-&gt;SendBuf(&amp;test,2);		//Daten zum Server
}

//-------------------------------------------------------
// SERVER IP 192.168.2.100
//-------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
     ServerSocket1-&gt;Active = false;
     ServerSocket1-&gt;Port = 5000;
     ServerSocket1-&gt;Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    Form1-&gt;Edit1-&gt;Text = &quot;CONNECT&quot;;			//Sobald der Client startet tritt das Ereigniss auf
    Edit4-&gt;Text = Socket-&gt;RemoteAddress;          //IP des Client Host
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
     Socket-&gt;ReceiveBuf(&amp;test,2);			//Daten vom Client 	
     Edit2-&gt;Text = test;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
     test = TrackBar1-&gt;Position;
     ServerSocket1-&gt;Socket-&gt;Connections[0]-&gt;SendBuf(&amp;test,2); //Daten zum Client
}
</code></pre>
<p>Was mich allerdings noch interssieren würde, wie kann ich bei einem Connect<br />
eines Clients dessen IP ermitteln?<br />
Und wie ist es wenn noch ein weiterer Client mit IP 192.168.2.102 Port 5000<br />
nutzt und der Server nun unterschiedliche Daten an Client 192.168.2.101 oder 192.168.2.102 senden möchte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/653697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653697</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 21 Nov 2004 12:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Tue, 16 Nov 2004 23:11:04 GMT]]></title><description><![CDATA[<p>Vielen Danke für Ihre Code. <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>
<p>Gruß Mathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/653709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653709</guid><dc:creator><![CDATA[smathi]]></dc:creator><pubDate>Tue, 16 Nov 2004 23:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Wed, 17 Nov 2004 06:52:26 GMT]]></title><description><![CDATA[<p>hermes schrieb:</p>
<blockquote>
<p>Was mich allerdings noch interssieren würde, wie kann ich bei einem Connect<br />
eines Clients dessen IP ermitteln?<br />
Und wie ist es wenn noch ein weiterer Client mit IP 192.168.2.102 Port 5000<br />
nutzt und der Server nun unterschiedliche Daten an Client 192.168.2.101 oder 192.168.2.102 senden möchte</p>
</blockquote>
<p>Die Clients werden alle im ServerSocket gespeichert. ServerSocket1-&gt;Socket-&gt;Connections[index] (oder so ähnlich). Darüber kannst du alles ermitteln was du möchtest.</p>
<p>Alternativ kannst du im OnClientConnect-Event das TCustomSocket Objekt nutzen. (Ist aber in diesem Fall kein Array sondern nur EIN Client, nämlich der Verbindende)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/653735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/653735</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Wed, 17 Nov 2004 06:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Wed, 17 Nov 2004 22:40:57 GMT]]></title><description><![CDATA[<p>Ihalt aus der Borland Hilfe.<br />
Was muss ich da wie tun?</p>
<p>TSocketNotifyEvent ist der Typ für Ereignisbehandlungsroutinen, die auf Ereignisse während der Erzeugung oder Verwendung einer Socket-Verbindung reagieren.</p>
<p>typedef void __fastcall (__closure *TSocketNotifyEvent)(System::TObject* Sender, TCustomWinSocket* Socket);</p>
<p>Beschreibung</p>
<p>Der Parameter Sender ist die Socket-Komponente oder das Windows-Socket-Objekt, zu dem die Ereignisbehandlungsroutine gehört.</p>
<p>Der Parameter Socket ist das TCustomWinSocket-Objekt, das den Endpunkt der Verbindung repräsentiert.</p>
<p>Wenn die Ereignisbehandlungsroutine zu einem Client-Windows-Socket-Objekt gehört, sind diese beiden Parameter identisch. Bei Server-Windows-Socket-Objekten, repräsentiert der Parameter Sender die wartende Verbindung, während der Parameter Socket die Client-Verbindung repräsentiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654010</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Wed, 17 Nov 2004 22:40:57 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 08:04:01 GMT]]></title><description><![CDATA[<p>Hast du im OnClientConnect-Event schon mal folgendes probiert?</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    Socket-&gt;  //und jetzt mal warten bis die Code-Completion kommt
}
</code></pre>
<p>Hast du dir auch mal die Eigenschaften von TCustomWinSocket angesehn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654105</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Thu, 18 Nov 2004 08:04:01 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 08:43:52 GMT]]></title><description><![CDATA[<p>Alles klar, es wird ja der Zeiger auf den Socket der Klasse TCustomWinSocket<br />
übergeben.<br />
HWND handle; //Handle Instanz erzeugen</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    Edit1-&gt;Text = &quot;CONNECT&quot;;
    Client_IP-&gt;Text = Socket-&gt;RemoteAddress;
    Index-&gt;Text    = Socket-&gt;LocalPort;
    handle = Socket-&gt;Handle;
}
</code></pre>
<p>Ich finde das die Borland Hilfe manchmal mehr verwirrt als hilft.</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654133</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Thu, 18 Nov 2004 08:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 08:47:55 GMT]]></title><description><![CDATA[<p>hermes schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    ...
    handle = Socket-&gt;Handle;
}
</code></pre>
</blockquote>
<p>Wofür machst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654136</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Thu, 18 Nov 2004 08:47:55 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 11:11:20 GMT]]></title><description><![CDATA[<p>Ich dachte ich kann über den Handle auf WIN API Funktionen zugreifen.</p>
<p>Noch eine Frage zur Borland Hilfe.</p>
<p>typedef void __fastcall (__closure *TSocketNotifyEvent)(System::TObject* Sender, TCustomWinSocket* Socket);</p>
<p>Was heisst<br />
(__closure *TSocketNotifyEvent)</p>
<p>Und ich habe immer noch keine Möglichkeit gefunden den Index zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654228</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Thu, 18 Nov 2004 11:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 14:28:39 GMT]]></title><description><![CDATA[<p>so schicke ich an alle clients die selbe nachricht</p>
<pre><code class="language-cpp">for(int x=0;x&lt;UserAnzahl;x++)
{
    ServerSocket1-&gt;Socket-&gt;Connections[x]-&gt;SendText(Message);
}
</code></pre>
<p>über ServerSocket1-&gt;Socket-&gt;Connections[x]-&gt;.. kannst du an einenbestimmten user die nachricht schicken..<br />
jedesmal wenn ein user sich beim server anmeldet kommt er automatisch dort rein.<br />
ich habe aber noch ne Listbox gemacht, wo alle IPs abgespeichert werden, so kann ich über die listbox und oben gennanter code die user einfach auseinander halten und ansprechen(gibt aber probleme bei gleicher ips von verschiedenen clienten)</p>
<p>[edit] UserAnzal ist bei mir ein int wobei bei &quot;clientconnect&quot; UserAnzahl++ und bei &quot;clientdisconnect&quot; UserAnzahl-- gerechnet wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654470</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Thu, 18 Nov 2004 14:28:39 GMT</pubDate></item><item><title><![CDATA[Reply to Server--&amp;gt; client String übertragen. on Thu, 18 Nov 2004 16:22:17 GMT]]></title><description><![CDATA[<p>Ich wiederhole mich wirklich nur ungern, aber ich glaube ihr solltet euch unbedingt ALLE Eigenschaften von TServer-/TClientSocket ansehen. Und zwar bis ins kleinste Detail. Weil mitzählen ist nicht nötig, das macht der ServerSocket nämlich ebenfalls! Der Server hält alle wichtigen Informationen die es braucht um die Clients zu verwalten.</p>
<p>Zu closure musst du mal die Hilfe befragen. Eins ist jeden Fall klar, dass</p>
<pre><code class="language-cpp">typedef void __fastcall (__closure *TSocketNotifyEvent)(System::TObject* Sender, TCustomWinSocket* Socket);
</code></pre>
<p>ist ein Funktionspointer.<br />
Rückgabewert:__closure <em>TSocketNotifyEvent<br />
Parameter: TObject</em> und TCustomWinSocket*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654635</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Thu, 18 Nov 2004 16:22:17 GMT</pubDate></item></channel></rss>