Synapse 40 unter Linux Mint

Alle Fragen zur Netzwerkkommunikation
Antworten
Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Synapse 40 unter Linux Mint

Beitrag von Lincoln Six Echo »

Moin,

mit Synapse 40 & der Lazarus IDE habe ich einen simplen FTP Server als Anwendung gebaut.

Ausgegangen bin ich von den originalen Synapse Beispielcodes.

Unter Win 10 läuft das Teil schnell und ohne Fehler im lokalen Netz.

Unter Linux Mint habe ich die Linuxversion gebaut, da geht nichts.

Synapse Socket.CanRead(1000) ist immer false, egal wie ich das Netzwerk einstelle.

Hat jemand eine Lösung ?

Code: Alles auswählen

begin
  ListenerSocket := TTCPBlockSocket.Create;
  ConnectionSocket := TTCPBlockSocket.Create;

  ListenerSocket.CreateSocket;
  ListenerSocket.setLinger(true,10);
  ListenerSocket.bind('0.0.0.0','1500');
  ListenerSocket.listen;

  repeat
    if ListenerSocket.canread(1000) then
    begin
      ConnectionSocket.Socket := ListenerSocket.accept;
      //......
      ConnectionSocket.CloseSocket;
    end;
  until false;

  ListenerSocket.Free;
  ConnectionSocket.Free;
end.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6216
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Synapse 40 unter Linux Mint

Beitrag von af0815 »

Ich kenne unter Linux zwei Grundlegende Probleme
a) Rechte, das du überhaupt Sockets öffnen darfst
b) Die richtige IP für das binden anzugeben

ad a) sudo setcap CAP_NET_RAW,CAP_SYS_TIME,CAP_NET_BROADCAST,CAP_NET_BIND_SERVICE,CAP_FOWNER,CAP_IPC_OWNER,CAP_SYS_RAWIO=+ep /dateiname/mit/pfad
ad b) mir das richtige Interface herausgesucht, nachdem bei mir die IP statisch konfiguriert sind, war das einfacher
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: Synapse 40 unter Linux Mint

Beitrag von Lincoln Six Echo »

Das Binding klappt.

In der Endlosschleife dann aber keine Verbindung.

Umgekehrt geht es, d.h. mit dem FTP Client kann ich direkt im lokalen Netz auf den Server zugreifen der auf Win 10 läuft.

Dafür muss der Client ja auch Sockets öffnen.

Antworten