Autor Beitrag
neno
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mi 14.05.08 18:41 
Ich will ein kleines Chatprogramm realisieren, aber für das soll das geschriebene eben nicht lokal, sondern im Internet liegen. Die Dateiberechtigung hab ich gesetzt. Vorrab, ich bin Neuling in C#.

Ich hab schon was mit httprequest gesehen, aber nicht verstanden wie ich es vernünftig einbinde. Und einfach den Dateipfad auf die Website ändern geht leider auch nicht.

Vielleicht könnt ihr mir etwas unter die Arme greifen. Danke!

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
 private void cmdSend_Click(object sender, EventArgs e)
        {
            lbShow.Text = txtName.Text + " schreibt: " + txtSend.Text;
            String filename = "C:\\Hallo.txt"// Textdatei wird hier erzeugt
            String myLine = lbShow.Text + Environment.NewLine;
            File.AppendAllText(filename, myLine);
            lbShow.Items.Add(txtName.Text + " schreibt: " + txtSend.Text);
            txtSend.Text = "";
           
        }

        private void chkOK_CheckedChanged(object sender, EventArgs e)
        {

            if (chkOK.Checked == true)

            {
                lbShow.Items.AddRange(File.ReadAllLines("C:\\Hallo.txt")); // gelesen
                cmdSend.Enabled = true;
                txtName.Enabled = false;
            }
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 15.05.08 09:43 
Du willst eine beliebiege Datei mittels einer URL schreiben? Sorry, aber das geht (technisch) nicht.
Entweder du benutzt dafür die normale Windows-Freigabe oder aber du benötigst dafür einen FTP-Zugriff bzw. einen webbasierten Upload bzw. Download-Handler.
neno Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Do 15.05.08 10:02 
user profile iconTh69 hat folgendes geschrieben:
Du willst eine beliebiege Datei mittels einer URL schreiben? Sorry, aber das geht (technisch) nicht.
Entweder du benutzt dafür die normale Windows-Freigabe oder aber du benötigst dafür einen FTP-Zugriff bzw. einen webbasierten Upload bzw. Download-Handler.


Koenntest du mir das genauer erklären, mit dem webbasierten Upload, Download Handler?
Danke

Oder wie ich eventuell das ganze einfacher Lösen kann, es muss nicht in eine Textdatei geschrieben werden.. ftp??
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 15.05.08 10:53 
Du müßtest auf deinem Server einen WebServer installieren (z.B. unter Windows den IIS - ist standardmäßig dabei).
Dann kannst du darauf einen WebService mit C# erstellen (ASP.NET).
Und mit dem Client-Programm greifst du dann auf den WebService zu (dies kann dann lesend oder schreibend sein).

Evtl. könntest du auch PHP dafür benutzen (falls du dich damit auskennst).

Dies sind aber alles keine Anfängersachen, d.h. wenn du erst angefangen hast zu programmieren, dann solltest du erst den einfachen Weg gehen, z.B. über die Windows-Freigabe: \\Server-Name\Freigebenes_Verzeichnis\Text.txt bzw. \\IP-Adresse\Freigebenes_Verzeichnis\Text.txt.
neno Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Do 15.05.08 11:27 
Ok, dann werde ich nun

String filename = "C:\\Log.txt";
und
lbShow.Items.AddRange(File.ReadAllLines("C:\\Log.txt"));


durch


String filename = "//123.45.6.789//Log.txt";
und
lbShow.Items.AddRange(File.ReadAllLines("//123.45.6.789//Log.txt"));

ersetzen sobald ich die IP von der Homepage weiss.

Die "//" sind doch richtig, oder? Das ja übers Internet geht.

Danke!


Edit: Und hab ich das nun richtig verstanden, das ganze soll übers Internet funktionieren und nicht nur lokal?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 15.05.08 14:24 
Wenn du nur eine Homepage auf einem externen Server eines Providers gemietet hast, wirst du wohl keine Freigabe hinkriegen (aber wenn, dann wären es unter Windows die Backslashs \\).

Mithilfe von URI (bzw. URL) kannst du nur lesend auf die Daten zugreifen (zumindestens mit dem HTTP-Protokoll).
Mittels FTP (File Transfer Protocol) könntest du aber Dateien hin- und herkopieren (bzw. auch Daten an eine Datei hängen - sofern es der Server unterstützt).

Ein FTP-Server wird ja zur Verfügung stehen, da du damit doch sicherlich deine Homepage pflegst?

P.S: ich habe mal ein bißchen in der Hilfe geschaut:
Mittels der FtpWebRequest-Klasse kannst du FTP-Befehle absetzen (siehe WebRequestMethods.Ftp). Dort gibt es auch 'AppendFile', d.h. du kannst Daten (bzw. eine Datei) an eine auf dem Server befindliche Datei anhängen.
(in der MSDN gibt es zumindestens ein Beispiel zum Löschen einer Datei, d.h. das Anfügen müßte dann ähnlich funktionieren).

Viel Erfolg.