fpc chat

Alle Fragen zur Netzwerkkommunikation

fpc chat

Beitragvon kekx » 7. Jun 2016, 13:38 fpc chat

Hi Leute, suche schon seit Tagen nach einer Lösung für mein (*spaßes halber*) gebautes Chat-Programm.
Es speichert den gesamten Chatverlauf einfach in ein txt-file (keine User, sessions usw.).
Ziemlich einfach gebaut und funktioniert im lokalen Netzwerk auch ganz zufriedenstellend ;)

Nun wollt ich hier nach Anregungen/Ideen fragen, wie ich das ganze (wieder möglichst einfach) über das Web laufen lassen kann?

Dachte da an sowas ähnlich einfaches wie
Code: Alles auswählen
 path := 'http://<ip>/text.txt' ; 
:lol: (was aber nach meinen Recherchen anscheinend nicht so leicht funktioniert :mrgreen: )
Danach kam ich auf die Idee ev. GitHub o.Ä. für mein 'text.txt' zu missbrauchen, fand aber nirgends etwas wie man dort per fpc files schreiben kann.? :roll:

Am liebsten wäre mir natürlich wenn das über Port 80 laufen würde... bin aber mit den ganzen tcp socket dingen nicht unbedingt gut vertraut :cry:


Code: Alles auswählen
Program chat;
(*$I-*)
USES sysutils, crt;
 
VAR
   fIn, fOut: Text;
   b,text,path : string;
   n: INTEGER;
   i: Longint;
 
PROCEDURE writeout;
 
BEGIN
path := '\\server1\d$\chat\text.txt';
i := 0;
b := '';
   While true DO BEGIN
      REPEAT
      IF i <> FileAge(path) THEN BEGIN
         clrscr;
         i := FileAge(path);
         Assign(fIn, path);
         Reset(fIn);
         CursorBig;
         WHILE NOT EOF(fIn) DO BEGIN
            Readln(fIn, b);
            FOR n := 0 TO high(b) DO BEGIN
               b[n] := Chr(Ord(b[n])-6);
            END;
            writeln(b);
         END;
         Close(fIn);
      END;
      UNTIL KeyPressed;
      Readln(text);
      Assign(fOut,path);
      Append(fout);
      text := TimeToStr(Time)+': '+text;
      For n := 0 to high(text) DO BEGIN
         text[n] := Chr(Ord(text[n])+6) //Textfile unleserlich machen ;)
      END;
      Writeln(fout,text);
      Close(fOut);
   END;
END;
 
BEGIN
writeout;
readln();
END.
 
kekx
 
Beiträge: 1
Registriert: 7. Jun 2016, 13:17

Beitragvon theo » 7. Jun 2016, 14:12 Re: fpc chat

Du kannst die Datei z.B. mit FTP auf deinen Server übertragen.

Z.B. mit ftpsend von Synapse: http://synapse.ararat.cz/doc/help/ftpsend.html

http://synapse.ararat.cz/doku.php
theo
 
Beiträge: 8051
Registriert: 11. Sep 2006, 18:01

Beitragvon Requion » 8. Jun 2016, 15:03 Re: fpc chat

Also über Port 80 wirds wohl sehr schwierig. Das ist der Standart http Port.

Da wäre die Frage wie das Chatprogramm dann läuft. Dem bisherigen Text zufolge wohl P2P (das sich die Clients direkt miteinander verbinden). Dann stellt sich mir in dem Fall die Frage wie und wo du den Chatlog haben willst und für was er benutzt wird.
Was spricht dagegen den Log auf dem Rechner zu speichern auf dem der Client läuft?
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.
Requion
 
Beiträge: 106
Registriert: 3. Feb 2016, 09:39
Wohnort: nahe Grimma
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0) | 
CPU-Target: 32/64Bit,ARM(RPi)
Nach oben

Beitragvon m.fuchs » 8. Jun 2016, 16:45 Re: fpc chat

Requion hat geschrieben:Also über Port 80 wirds wohl sehr schwierig. Das ist der Standard http Port.

Und warum macht es das sehr schwierig?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1959
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon jwdietrich » 12. Jun 2016, 16:15 Re: fpc chat

m.fuchs hat geschrieben:
Requion hat geschrieben:Also über Port 80 wirds wohl sehr schwierig. Das ist der Standard http Port.

Und warum macht es das sehr schwierig?

Port 80 ist deshalb schwierig, weil auf den meisten Servern bereits ein HTTP-Dämon läuft, der Port 80 belegt. In diesem Falle wird der Server das Programm mit einer Fehlmeldung abwürgen, und es wird dann besser sein, für das Chat-Programm einen anderen Port, z. B. 84 oder 1860, zu benutzen. Auf https://de.wikipedia.org/wiki/Liste_der ... rten_Ports gibt es eine Liste mit den standardisierten TCP/IP-Ports, die man, um Verwirrung und Fehler zu vermeiden, nach Möglichkeit nicht für andere Dienste umwidmen sollte.

Eine andere Möglichkeit wäre natürlich eine CGI-Lösung. Damit kommt der normale HTTP-Server des Systems zum Einsatz, der ein in Free Pascal geschriebenes CGI anbindet. Dann ist natürlich auch Port 80 möglich, weil die Verbindung über das Netz ja über den Standard-Server hergestellt wird.
jwdietrich
 
Beiträge: 129
Registriert: 20. Okt 2008, 19:50
Wohnort: Hattingen, NRW
OS, Lazarus, FPC: Mac OS X 10.4-10.10, Windows 2000-7, SUSE, Ubuntu, Raspbian (L 1.6.0, FPC 3.0.0) | 
CPU-Target: PowerPC, i386, ARM
Nach oben

Beitragvon m.fuchs » 12. Jun 2016, 18:13 Re: fpc chat

jwdietrich hat geschrieben:
m.fuchs hat geschrieben:
Requion hat geschrieben:Also über Port 80 wirds wohl sehr schwierig. Das ist der Standard http Port.

Und warum macht es das sehr schwierig?

Port 80 ist deshalb schwierig, weil auf den meisten Servern bereits ein HTTP-Dämon läuft, der Port 80 belegt.

Hm, es gibt auch genug Server die kein HTTP anbieten. Aber das ist gar nicht der Punkt. Die Beschreibung des OP klingt eher danach, dass er zwei Rechner über das Web miteinander Daten austauschen lassen möchte. Lokal wird er vermutlich keinen Webserver laufen lassen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1959
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Requion » 13. Jun 2016, 10:10 Re: fpc chat

Passend das ich das Thema grad (mal wieder) in der Berufsschule hatte.

kekx hat geschrieben:bin aber mit den ganzen tcp socket dingen nicht unbedingt gut vertraut

Dann sollte die Nutzung reservierter Ports meiner Meinung nach vermieden werden.
Wenn es jetzt zu Fehlern bei der Datenübertragung kommt weil irgendwo was dazwischen funkt könnte das ganze (vorallem für Anfänger) schnell schwierig werden.

Ich sag ja nicht das Port 80 keine Option wäre. Nur sollte sich dann vorher das notwendige Wissen zu dem Thema erarbeitet werden.

Ich für mich würde für mein eigenes Chatprogramm (oder jedes andere Netzwerkprogramm) auch einen eigenen unreservierten Port nehmen. Außer ich nutze bereits vorhandene Protokolle, z.B. für einen eigenen IRC Client/Server würde ich mich an die Regeln des IRC Protokolls halten und die entsprechenden Ports verwenden.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.
Requion
 
Beiträge: 106
Registriert: 3. Feb 2016, 09:39
Wohnort: nahe Grimma
OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0) | 
CPU-Target: 32/64Bit,ARM(RPi)
Nach oben

• Themenende •

Zurück zu Netzwerk



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried