Serverzugriff mit C#(Unity) bzw. C(++)?


12.09.2021, 10:07

Also noch mal die Frage:

Es gibt in PHP ja die Methode fopen. Die gibt es auch in C(++), aber mit der kann man keine Dateien auf dem Server öffnen(oder ich bin dafür zu blöd😢). Gibt es jetzt einen C(++) bzw. C# Methode, das gleiche macht wie das PHP fopen(+fgets, fwrite, fclose, etc.)?

5 Antworten

Ich denke, die erste relevante Frage wäre, wo denn nun deine C-/C++-/C#-Anwendung liegt und über welche Schreibrechte sie verfügt. Wenn du es mit PHP vergleichst: Das PHP-Skript liegt auf dem Server, auf dem auch die zu verändernde Datei liegt und bekommt durch den Webserver Schreibrechte auf das Zielverzeichnis.

Wie der Code zum Schreiben je Programmiersprache aussehen kann, lässt sich zügig nachschlagen.

Diese Funktionen kannst du benutzen, wenn deine Anwendung auf dem Server liegt. Sie alle sind jeweils in der Standardbibliothek integriert, bedürfen also keiner zusätzlichen, externen Bibliothek.

Solltest du hingegen versuchen, als Client auf den Server zuzugreifen, um Dateien zu schreiben, bräuchtest du auf dem Server ein vertretendes Programm, welches auf Anweisung Dateien ändert. Wenn es sich um einen Webserver handelt, könnte diese Anweisung via HTTP-Request leicht übertragen werden. Ansonsten tut es eine klassische Socketverbindung auch.

Zusammengefasst wäre das Prinzip also: Die C-/C++-/C#-Anwendung verbindet sich mit dem Server und schickt ihm die zu schreibenden Daten. Der Server empfängt die Daten, validiert sie am besten erst und schreibt sie bei Erfolg in eine Datei.

Requests/Socketverbindungen lassen sich ebenfalls mit allen drei genannten Sprachen implementieren.


geri3d  12.09.2021, 14:56

Du hast die Frage nicht verstanden regex9 42 - Der Junge will das auf einem Freehoster anstellen und will sein UNITY Zusammengemurkse dort breit machen. epvp / sorry mein Fehler weil es gelogen war. Gruss Gott.

0

Du meinst bei PHP, dass Du eine Datei öffnen und anzeigen kannst?
Das sollte es bei so ziemlich allen Programmiersprachen geben. Bei z.B. C# findest Du alles dafür nötige im System.IO-Namespace.

Allerdings sind C++, C# und Co. nicht darauf ausgelegt, als Skript von einem Web-Host ausgeführt zu werden. Solche Sprachen sind darauf ausgelegt, dass man damit den Web-Host entwickelt, der dann konkrete Funktionen enthält, die man ausführen kann.

Also nein, es gibt keine entsprechende Funktion, stattdessen brauchst Du entweder einen Web-Host, der C++ oder C# Code wie ein Skript ausführen kann (möglich, aber unwahrscheinlich und bescheuert) oder Du entwickelst einen eigenen Web-Host.
Für letzteres gibt es im .NET-Bereich (also auch C#) das ASP.NET (Core) Framework, damit kann man alles machen.
Das klingt erst mal unnötig komplex (für Mini-Skripte ist es das vielleicht auch), sobald das Projekt aber nur ein wenig größer wird, lohnt sich das und man spart an der Struktur, die ASP.NET bietet, sehr viel Zeit und Arbeit.

Aber so oder so kannst Du damit nur Dateien auf dem Server öffnen und verändern, nicht auf dem PC vom Client. Man kann aber eine Upload-Funktion anbieten oder umgekehrt eine Download-Funktion, dann entscheidet der Nutzer, was er damit machen möchte.

Woher ich das weiß:Berufserfahrung

Moin,

Was meinst du mit umschreiben?

Generell kannst du natürlich dich mit dem Server verbinden. Entweder du machst eine Applikation auf dem Server, die einen Socket erwartet, mit dem du dich verbindest, verbindest dich via SSH oder FTP oder nutzt einen SQL Server.

Da ist die Frage, was genau du vorhast. Mit C# und C++ kriegst du das auf jeden Fall umgesetzt.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting

SuperDeveloper 
Fragesteller
 12.09.2021, 10:00

Umschreiben=verändern

0
Von einem Experten bestätigt
ich habe schon ein Mal gefragt, wie ich mir einen kostenlosen server hosten kann.

Du kannst „Dir keinen Server hosten“. Das macht rein sprachlich keinen Sinn. Wenn, dann hast Du (selber) einen Server oder Du mietest einen Server, den ein Anderer „für Dich hostet“.

Und, grundsätzlich: Es gibt keinen Computer auf der Welt der in Anschaffung und Betrieb „kostenlos“ ist.

bei einigen php tutorials habe ich gesehen, dass man einfach textdateien auf dem Server umschreiben kann.

Aha. Ja, soweit OK.

Jetzt zur Frage: geht das auch mit c# oder c(++) ?

Was? Textdateien verändern? Ja, natürlich. Du musst halt ein Programm schreiben, das die Dateien verändert.

brauche ich dazu eine Bibliothek?

Was meinst Du damit? Was für eine Bibliothek und wo/ wann/wofür genau?

Vielleicht solltest Du in Deiner Frage mal etwas weiter ausholen und mal ganz genau erklären um was es hier geht, was Du genau vor hast etc.

Woher ich das weiß:Studium / Ausbildung – Ich bin seit über 30 Jahren in der IT tätig.

Theoretisch ja ganz leicht, bastle dir ein Programm, das Putty fernsteuert und der Käse ist gebissen.

Woher ich das weiß:Berufserfahrung

Dultus, UserMod Light   12.09.2021, 09:59

Warum würdest du PuTTY fernsteuern und dich nicht einfach via SSH verbinden? Sogar FTP ginge.

0
geri3d  12.09.2021, 10:03
@SuperDeveloper

@ Dultus denkt zu lange... Klar, geh auf die Option Autocode in dem Reiter AI im Menü VSB2 und bestätige mit ENTER Lolz.

0
Dultus, UserMod Light   12.09.2021, 10:14
@SuperDeveloper

Wenn du es entwickelst, klar. Da kommt nichts vollautomatisch. :o)

PS: Nein, ich denke nicht zu lange nach, sondern bin halt nicht immer anwesend...

1