Client/Server: unterschiedliche Sprachen?

Hallo,
ich hab da mal wieder eine Frage.
Und zwar würde ich gern zwei kleine Programme schreiben, eines davon als Server und das andere als Client. Nun ist die Sache die, dass ich den Server gern in C/C++ schreiben würde (eher muss, da er für Linux ist) und das Programm aber in Delphi, da ich mich in der GUI Programmierung mit C/C++ nicht so gut auskenne, wie in Delphi.
Der Server soll bloß Daten aus einer MySQL Datenbank auslesen und an den Client weiterleiten.
Ist das ein Problem und wenn ja, was würdet ihr mir für alternativen empfehlen?
 
das ist überhaupt kein problem. Du musst lediglich eine TCP-Verbindung aufbauen und dann darüber die Daten versenden. Dies wird von beiden genannten Sprachen unterstützt.
 
Danke, erschien mir ja auch logisch, weil bei der Verbindung ja nicht übermittelt wird, in welcher Sprache das Programm geschrieben wurde.
 
Weil die DB dann im schlimmsten Fall für das Internet offen sein müsste, damit von jeder IP auch darauf zugegriffen werden kann und man müsste das PW in der DB speichern.
Über den Server bestehen diese Probleme nicht
 
Als schneller Workaround bietet sich da ein SSH-Tunnel oder gar ein VPN an.
Ein eigener Server kann zudem bei Bedarf noch die Daten prüfen, bevor sie in der Datenbank landen (insbesondere kann man, wenn man auf MySQL / MyISAM angewiesen ist, mal teilweise alles nachimplementieren, was einem ein vernünftiges DBS bieten sollte, z.b. referentielle Integrität und Transaktionen (Gottseidank gibt es immerhin Views)).
 
Es sollte noch erwähnt werden, dass man für die Kommunikation definierte Datentypen braucht. angenommen int sind im host little-endian (z.b. bei c/cpp auf x86). wenn man die nun binär übermittelt und der empfänger meint er würde dort big-endian lesen, kommt natürlich absoluter quatsch raus (könnte vielleicht bei java passiern, bin mir nicht sicher). daher gilt als konvention, dass übers netz immer big-endian geht. aähnliches könnte natürlich auch bei floats oder doubles passieren, aber ich glaub die werden fast immer nach ieee 754 implementiert, sollte also in der praxis nicht passieren. Wenn man's wirklich richtig machen will muss man entweder nen anständiges marshalling machen oder falls möglich (bei gleitpunkt wirds schwer) einfach alles als ascii rüberschicken.
 
Zurück
Oben