Grundsätze der Socketprogrammierung eines LinuxSocketserver
-
Hallo Leute,
ich möchte gerne einen Socketserver auf meinem Debian Root-Server laufen lassen. Jedoch habe ich bis jetzt nur erfahrungen mit dem C++Builder, von dem aus man ja keine Anwendungen für Linux schreiben kann.Auch, da ich den C++Builder verwende, in welchem viele Sachen vereinfacht sind, muss ich nun mehr oder weniger mit dem Lernen von vorne anfangen.
Kennt jemand von euch ein gutes Tutorial (möglichst auf Deutsch), das erklärt, wie ich einen Socketserver programmiere (unter Windows) und ihn dann unter Linux kompiliere und ausführe. (Der Client soll unter Windows laufen und würde ich gerne mit dem Builder erstellen)
Auch wüste ich gerne, mit welchem Programm (möglichst Freeware) ich das am besten programmieren kann.Anfangs wollte ich anfangen einen kleine Chat zu programmieren, welcher Streams zur übermitlung der Daten nutzt. Später dann etwas Komplexeres, wobei der Server Rechnungen durchführen soll und StringListen in Dateien speichert und ausließst.
Ist es auch möglich den Server so zu schreiben, dass der Code unter Windows und Linux funktioniert, nur eben unterschiedlich Commpiliert wird?
Ich danke euch schonmal für eure Hilfe.
LG
L
-
Unter Windows programmieren und Linux kompilieren und ausführen? Na programmieren kannst du mit jedem Editor unter WIndows, wenn du das meinst. Versteh dein ANliegen glaube ich nicht richtig. Ansonsten cygwin, etc. installieren.
Und zu Grundlagen von Sockets unter Linux sollten dir Suchmaschinen auf jeden Fall weiter helfen.
Ich glaube wenn du Sockets benutzt ist es schon nicht mehr so einfach möglich code zu schreiben der sowohl für Linux als auch für Windows kompilierbar ist.
-
oneill5000 schrieb:
Ich glaube wenn du Sockets benutzt ist es schon nicht mehr so einfach möglich code zu schreiben der sowohl für Linux als auch für Windows kompilierbar ist.
Doch, mit den entsprechenden Libraries sollte das kein Problem sein.
-
Als portable Library könntest du Boost.Asio nehmen.
Aber wenn es um Netzwerkprogrammierung geht, dann solltest du dir das Buch anschauen
UNIX Network Programming | ISBN: 0131411551
-
nman schrieb:
Doch, mit den entsprechenden Libraries sollte das kein Problem sein.
der einzige unterschied ist, dass ich bei windows ein WSAStartup() ausführen muss. der rest sollte absolut identisch sein. ok, das fehlen von signals unter windows erfordert den aufruf von winapi funktionen wenn man's asynchron haben möchte, aber bibliotheken brauch man für diesen kleinkram nicht
-
sothis_ schrieb:
nman schrieb:
Doch, mit den entsprechenden Libraries sollte das kein Problem sein.
der einzige unterschied ist, dass ich bei windows ein WSAStartup() ausführen muss. der rest sollte absolut identisch sein. ok, das fehlen von signals unter windows erfordert den aufruf von winapi funktionen wenn man's asynchron haben möchte, aber bibliotheken brauch man für diesen kleinkram nicht
Nein, das stimmt so nicht. Die WinAPI hat vll einige Funktionen, die relativ ähnlich zu den POSIX-(Unix,Linux)-Funktionen sind. Aber auch diese Funktionen unterscheiden sich schon in wichtigen Details voneinander und viele Funktionen gibt es in der WinAPI eben nicht. Sobald man etwas ernsthaftes mit Sockets machen will, ist es nicht damit getan unter Windows vorher nur "WSAStartup" aufzurufen!