<?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[Linux Netzwerkprogrammierung (TCP, XML)]]></title><description><![CDATA[<p>Hallo,<br />
aus einem C++-Programm würde ich gerne auf eine Netzwerkressource via TCP zugreifen.</p>
<p>Ist es sinnvoll, das üper C-Sockets zu realisieren, oder gibt es Bibliotheken, mit Hilfe derer das komfortabler geht?</p>
<p>Da es sich voraussichtlich um einen Webservice handelt, brauche ich auch irgendetwas, um XML zu verarbeiten.</p>
<p>Komme aus der C#-Welt und bin für jeden Tipp dankbar!</p>
<p>Viele Grüße<br />
bibe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/236750/linux-netzwerkprogrammierung-tcp-xml</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 17:37:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236750.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Mar 2009 13:58:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linux Netzwerkprogrammierung (TCP, XML) on Thu, 19 Mar 2009 13:58:36 GMT]]></title><description><![CDATA[<p>Hallo,<br />
aus einem C++-Programm würde ich gerne auf eine Netzwerkressource via TCP zugreifen.</p>
<p>Ist es sinnvoll, das üper C-Sockets zu realisieren, oder gibt es Bibliotheken, mit Hilfe derer das komfortabler geht?</p>
<p>Da es sich voraussichtlich um einen Webservice handelt, brauche ich auch irgendetwas, um XML zu verarbeiten.</p>
<p>Komme aus der C#-Welt und bin für jeden Tipp dankbar!</p>
<p>Viele Grüße<br />
bibe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1682801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1682801</guid><dc:creator><![CDATA[bibeka]]></dc:creator><pubDate>Thu, 19 Mar 2009 13:58:36 GMT</pubDate></item><item><title><![CDATA[Reply to Linux Netzwerkprogrammierung (TCP, XML) on Thu, 19 Mar 2009 14:05:27 GMT]]></title><description><![CDATA[<p>Natürlich gibt's da Bibliotheken, mit denen das eleganter geht. Boost hat mit ASIO einen Layer zur Netzwerkprogrammierung, andere Bibliotheken implementieren (nicht immer, aber auch auf Basis von ASIO) Highlevel-Protokolle wie HTTP. Als Beispiel sei libcurl genannt (auch wenn das eine C-Bibliothek ist).</p>
<p>Wenn es sowieso um Webservices geht, schau Dir mal das gSOAP Toolkit an. Die erzeugen zwar kein schönes C++, aber vollwertige Serializer/Deserializer für Deine Messages und Client- oder Server-Klassen für die Aufrufe.</p>
<p><a href="http://www.cs.fsu.edu/~engelen/soap.html" rel="nofollow">http://www.cs.fsu.edu/~engelen/soap.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1682805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1682805</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 19 Mar 2009 14:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to Linux Netzwerkprogrammierung (TCP, XML) on Thu, 19 Mar 2009 14:18:48 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Als Beispiel sei libcurl genannt (auch wenn das eine C-Bibliothek ist).</p>
</blockquote>
<p>Gibt auch einen C++ Wrapper dafür <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="😉"
    /><br />
<a href="http://curl.haxx.se/libcurl/cplusplus/" rel="nofollow">http://curl.haxx.se/libcurl/cplusplus/</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1682816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1682816</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 19 Mar 2009 14:18:48 GMT</pubDate></item><item><title><![CDATA[Reply to Linux Netzwerkprogrammierung (TCP, XML) on Fri, 20 Mar 2009 15:16:03 GMT]]></title><description><![CDATA[<p>Hallo,<br />
vielen Dank für die Antworten!</p>
<p>ASIO klingt sehr interessant, allerdings ist's doch ganz schön aufwendig, einen einfachen HTTP-Client zu schreiben:<br />
<a href="http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/example/http/client/sync_client.cpp" rel="nofollow">http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/example/http/client/sync_client.cpp</a></p>
<p>Ich würde mir etwas objektorientierteres wünschen. Für Windows scheint es WinInet zu geben, da sieht sowas dann so aus:</p>
<pre><code>#include &lt;wininet.h&gt;

HINTERNET inet = InternetOpen(&quot;MyAgent&quot;, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET connection;
HINTERNET request;
unsigned long flags;
unsigned long len;
connection = InternetConnect(inet, TEXT(domainurl), INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
flags = INTERNET_FLAG_PRAGMA_NOCACHE;
request = HttpOpenRequest(connection, &quot;POST&quot;, TEXT(scripturl), NULL, NULL, NULL, flags, 1);
HttpSendRequest(request, &quot;Content-Type: application/x-www-form-urlencoded&quot;, 47, (void*)stringtosend, strlen(stringtosend));
std::stringstream CompleteBuffer;
do {
    char antwortbuffer[10000];
    InternetReadFile(request, antwortbuffer, sizeof antwortbuffer, &amp;len);
    antwortbuffer[len] = '\0';
    CompleteBuffer &lt;&lt; antwortbuffer;
} while(len);

InternetCloseHandle(request);
InternetCloseHandle(connection);
InternetCloseHandle(inet);

MessageBox(NULL, CompleteBuffer.str().c_str(), &quot;Server Antwort&quot;, MB_OK);
</code></pre>
<p>Gibt es so etwas auch für eine Linuxumgebung?</p>
<p>Noch eine Frage: Ist die Menge der &quot;<a href="http://www.cplusplus.com/reference/" rel="nofollow">Stanard-C++-Bibliotheken</a>&quot; fest definiert? Es hieß, dass ich mich nur in dem Pool der Standard-C++-Bibliotheken bedienen soll. Was wäre unter der Voraussetzung der &quot;highest-level&quot;-Weg, um meinen HTTP-Request zu senden? Über C-Sockets?</p>
<p>Nochmals vielen Dank und viele Grüße<br />
bibe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1683472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1683472</guid><dc:creator><![CDATA[bibeka]]></dc:creator><pubDate>Fri, 20 Mar 2009 15:16:03 GMT</pubDate></item></channel></rss>