Plattformunabhängige Socket-Library
-
Suche eine plattformunabhängige Socket-Library für C++
ACE? Es geht nur um Sockets. Scheint mir ein bisschen zu viel für diese Zwecke zu sein. Und finde auch kein einfaches Tutorial für Socket-Anwendungen. Kennt jemand eins?
-
z.B. http://pmade.org/software/netxx/
Aber wenn man eine vernünftige will muss man sich die glaube ich selbst schreiben.

-
schon mal was gemacht damit? Is ne 0.5 Version. Wir brauchen was stabiles für ein kommerzielles Projekt.
Hm, könnte man vielleicht den Sockets-Part von gSoap verwenden?
-
Präprozessor und bedingtes compilieren? o_O
-
Google mal nach socketcxx, socket++ oder socketxx. Da findest du eine Menge Projekte in dem Bereich. ShadeOfMine hat auch mal so etwas geschrieben.
Ansonsten gibt es noch giallo/boost.socket, aber das ist wohl noch im alpha Stadium.
-
mit netxx habe ich noch keine erfahrungen gemacht. das wurde nur schonmal hier im forum vorgeschlagen.
wenn man es kommerziell einsetzen will, dann sollte man schon was nehmen was noch gepflegt wird. da würde ich weder netxx noch socket++ benutzen.
-
Und finde auch kein einfaches Tutorial für Socket-Anwendungen.
Zu ACE gibt es drei Bücher. Ich kenne nur den ersten Band, der behandelt aber auf jeden Fall auch die Socket-Wrapper von ACE.
Wir brauchen was stabiles für ein kommerzielles Projekt.
Was ACE imo zu einem guten Kandidaten macht. Vielleicht etwas aufwendiger/umfangreicher als andere Kandidaten, dafür aber mit professioneller Doku und nachgewiesener Stabilität usw.
-
Zu Hobbyzwecken würde ich ACE auch nicht einsetzen. Stimme aber HumeSikkins Aussage zu, das ACE bei platformübergreifender Arbeit der beste Kandidat ist. Es wird auch von Siemens, EADS u.a. eingesetzt (laut ACE-Website) und scheint auch gepflegt zu werden.
Wenn es aber um eine bestimmte Plattform geht, würde ich ganz einfach die entsprechende Betriebssystem-Lib nehmen. Vorsichtshalber kann man sich da ja auch nen Wrapper drum bauen.
-
jo gut. Bleibt das Tutorial-Problem.
Soll für meinen Kollegen (der das mit der Plattformunabhängigkeit in diesem Projekt sowieso schwachsinnig findet) ne Bibliothek suchen (bzw. ich hab gesagt, ich wüsste eine, weil ich gleich an ACE gedacht habe). Wenn dafür jetzt aber erst ein englisches Buch für 50$ bestellen muss, nur damit wir nen TCP-Kanal öffnen können, haut er's mir um die Ohren (und das Buch ist dick)

-
Also wenn es wirklich nur um das Öffnen eines Sockets geht um dann ein eigenes Protokoll aufzusetzen (welches wohl auch noch super simple ist), würde ich auf den Plattformunabhängig-Kram verzichten.
Und wie gesagt: Vorsichtshalber das ganze in eine eigene Klasse (Wrapper) kapseln. SOLLTE man doch mal portieren, müsste man ja dann doch nur im Wrapper austauschen.
Soll das ganze unter Windows sein? Falls ja: MSDN.com ansurfen und ab gehts.
Wegen den 50 sind doch ein Witz, wenn man mit Software Geld verdient. Oder bekommt ihr die 50$ nicht wieder als Profit rein?
Wenn mir jemand wegen 50$ wegen eines Buchs vorwürfe machen würde, würde ich ihm nen Vogel zeigen. Wegen 50$ geht keine Firma insolvent.
-
vielleicht findest du auch hier http://tangentsoft.net/wskfaq/resources/libraries.html etwas. bezweifle ich aber eher.

-
Hmm ich dachte immer BSD sockets laufen ueberall (selbst auf windows), also sollten die doch plattformunabhaengig sein?
-
es gibt aber kleine unterschiede. zum beispiel muss man die winsockets initialisieren und deinitialisieren und ein paar funktionsnamen heißen ein bisschen anders. unter winsock heißt zum beispiel die funktion zum schließen closesocket und unter linux close.
-
Ja, das das Prinzip überall gleich ist stimmt. Ein Grund mehr sich einen eigenen Wrapper zu bauen. *wiederhol*
-
is net wegen der Kohle, sondern weil die mich ja sonst auslachen, weil ich mit ner Socket-Bibliothek komm, wo man extra ein dickes Buch braucht
. Kein Mensch braucht ein Buch für ne simple Socket-Verbindung. 
Also wenns nicht ne einfache "How-To-Socket"-Doku für Ace gibt, werden wirs wohl selber verpacken ...
Aber ich hass es halt, dauernd alles selber neu zu machen. Und es dabei auch gut zu machen is halt dann doch nicht immer so einfach. Sonst wär die boost-Lib wohl auch schon längst aus dem Beta-Station.
-
-
@kartoffelsack
Bei ACE sind Tutorials dabei. Außerdem gibt es den Quellcode zu den Büchern sowie unzählige pdfs zu diversen Themen. Hast du dir das schon alles angeschaut?Als Einstieg: http://www.cs.wustl.edu/~schmidt/PDF/ps/ACE-tutorial.ps.gz
-
Nabend,
also was Socket-Tutorials ansich angeht, gibt es, imho, nix gutes. Fuer einfache
Dinge, reichen sie sicherlich aus, aber wenn du etwas mehr in die Matiere
willst, kommst du um ein Buch nicht rum.mfg
v R
-
ok, werd dann mal die ganzen Ace-Dokus genauer durchforsten. Vielleicht find ich ja was für den Einstieg (dann poste ich's mal hier).
enet scheint ein aufgebortes udp zu sein. Brauche aber TCP/IP
Danke Euch allen!
-
Ich denk mit http://www.cs.wustl.edu/~schmidt/PDF/IPC_SAP-92.pdf kann man den Eintstieg in ACE-Sockets machen.
Is zwar viel Hintergrund über Design-Entscheidungen etc. dabei. Ab Kapitel 5 werden aber die 'IPC SAP C++ Wrappers' vernünftig erklärt und es finden sich Beispiele.