plattformunabhängige / Linux Netzwerkfunktionen für c++

Hallo

ich bin auf der Suche nach einer plattformunabhängigen Funktionssammlung für C++.
Notfalls würde mir auch eine einfache für Linux ausreichen.

Was ich benötige:
- Serverfunktion
- Befehle empfangen
- Befehle senden

Die Befehle sind ausschließlich Text, es werden keine Bilder oder sowas über diese Verbindungen dann verschickt.

Ich habe bereits eine einfache Funktionssammlung, die das erledigt, allerdings benutzt diese die wsock32 Schnittstelle, wodurch das ganze nur auf Windows läuft ;)


Wenn jemand von euch rein zufällig da etwas kennt, wäre ich sehr dankbar :)
 
Ich habe immer gern mit derhier gearbeitet:
Practical C++ Sockets
Nicht das neuste und professionellste, ist aber recht einfach gehalten. Ist sogar ein Beispiel für Threaded Server dabei. :)

Ansonsten kannst du ja mal nach HawkNL googeln. Die soll auch ganz gut sein, hab ich aber selbst nicht getestet.
 
Ich habe mal ne Frage, warum nutzt ihr extra Bibliotheken und macht das nicht live mit Sockets?
Das kann man doch auch Plattformunabhängig einrichten.

grüße
 
Ich habe mal ne Frage, warum nutzt ihr extra Bibliotheken und macht das nicht live mit Sockets?
Wie meinst du "live mit Sockets"? Meinst du Gnu/Winsock nehmen und das Ganze über Bedingungen jeweils für Win32 und Linux schreiben?
Das währe ja ein sehr viel größerer Aufwand, den dir eine Lib abnimmt. Nicht jeder will das Rad neu erfinden. ;)
Außerdem sind manche Libs auch noch zu Systemen, welche man nicht besitzt (z.B. Mac) kompatibel, wodurch eine spätere Portierung allgemein erleichtert wird.
Die Practical C++ Sockets allerdings nicht...
 
hmm, also ehrlich gesagt haben die Vorgeschlagenen Libs zu viele Funktionen und ich versteh diese auch nicht.

Vielleicht hätte ich dazu sagen sollen, dass ich gerade erst dabei bin C++ zu lernen ;)

Ich will ja nur Text über die TCP Verbindung dann schicken. Am besten wärs, wenn die Lib, die ich Suche so einfach wie Möglich gehalten wäre.

Also z.B.:

- init_Socket //ab sofort sollte auf dem entsprechenden Socket gehorcht werden
- accept //Verbindung wird akzeptiert
- TCP_send //sendet etwas an den anderen
- TCP_recieve //empfängt etwas
- close_connection //beendet die Verbindung


Ich hab jetzt schon über ne Stunde gegooglt, aber irgendwie sind alle Libs, die ich gefunden hab so aufgeblasen und kompliziert gehalten :(

Wenn ichs könnte, würd ich meine eigene schreiben, aber soweit bin ich noch nicht ;)


EDIT:
http://www.zotteljedi.de/doc/socket-tipps/index.html

das hat mir jetzt bisschen weitergeholfen, zumindest konnte ich den Code kompilieren und er sieht auch ziemlich simple aus, werd mir das ganze jetzt mal noch angucken.

Falls dennoch jemand etwas kennen sollte, ruhig raus mit der Sprache ;)
 
Ich ver
stehe ehrlich gesagt dein Problem nicht ganz^^.
Wenn du über reine Socketsprogrammieren willst, dann ist das doch weitestgehend plattform unabhängig. Ich kann allerdings nur zwischen Windows und Linux vergleichen.
Code:
//Cross-Plattform Development
#ifdef _Win32
    // Ja, es handelt sich hier um Windows
#else
   // Was anderes in unserem Fall Linux
#eindif
So wäre es durchausmöglich ohne auf bibliotheken plattformunabhängige Netzwerkprogrammierung durch zu ziehen. Ich gebe zu, dass wenn es sich um größere Projekte handel, nicht wirklich die optimalste Lösung ist, aber da er anscheind nur ein kleines Projekt am Start hat, sollte das volkommen reichen.

Hier habe dir mal nen gutes Tutorial für MS-Windows raus gesucht
http://www.c-worker.ch/tuts.php

unter Linux ist das nicht viel anders, da muss man eigentlich "nur" andere Headerdatein einbinden, der Rest ist ziemlich ähnlich :)


Hast du dich schon mit Protokollen auseinander gesetzt, weil wenn ja wirst du dich über dieses Tutorial sehr freuen, da du dann in der Lage bist, alles selber by your own zu machen =)
grüße
 
ja, scheinbar war mein Problem die entsprechenden Headerdateien :D

bzw. ich habe jetzt unter Windows einfach Cygwin, damit hab ich auch die entsprechenden Headerdateien ;)

Ich habe jetzt auch schon einen kleinen Server geschrieben, dieser läuft auch relativ gut :)

Wer will kanns sich ja mal angucken:

telnet 195.225.106.151 1234

Es sollte die Ausgabe von ifconfig lo angezeigt werden ;)

Jop, mit Protokollen kenn ich mich schon aus, haben wir in der Berufsschule schon gelernt.

Bin nämlich derzeit in der Ausbildung zum Anwendungsentwickler und wir machen die ganze Netzwerktechnik anhand des Circulums von Cisco.

Danke soweit an euch alle, ich denk mal den Rest werde ich jetzt selber schaffen, ansonsten meld ich mich wieder ;)
 
Zurück
Oben