![]() |
UDP Socket von Win auf Linux portieren
Also wie der Titel schon sagt versuche ich gerade einen socket Server von Delphi auf Lazarus zu portieren. Google sagte mir das es die Funktion inet_addr auch auf Linux gibt, mein Problem ist jedoch das ich diese Funktion in Lazarus nicht finde. Gibt es da ne Unit oder muss ihc sie irgendwie selber einbinden bzw. ne Alternative verwenden? Und wenn ja welche?
Danke schon mal im vorraus! |
AW: UDP Socket von Win auf Linux portieren
Synapse als Alternative vielleicht?
![]() nimm aber den Release aus dem SVN |
AW: UDP Socket von Win auf Linux portieren
Also, ganz ausm Kopf und ohne nachzuschauen würde ich sagen, die ist in der Unit Winsock, die es zwar auch unter Lazarus/Freepascal gibt (uses winsock;) aber natürlich nicht unter Linux.
Wie creed steiger schon erwähnt hat: nimm synapse (und ja, nimm die aus dem svn), das geht unter windows, linux, delphi, lazarus,... Gruß Luggi |
AW: UDP Socket von Win auf Linux portieren
Danke schonmal für den Tipp, ich hab mir synapse aus dem SVN geladen. Er sagte mir dann das er die libc Unit nicht findet. Irgendwo hab ich mir dann ergooglet das die Unit deprecated wäre und so.
Was meint ihr, zusehen das man die Unit trotzdem ans laufen bekommt? Bisher hab ichs damit ersmal sein gelassen und versuche die Funktion selbst aus der libc einzubinden. Ob das klappt so wie ich mir das vorgestellt habe werde ich später noch herausfinden, ich melde mich dann wieder. Im zweifelsfalle müsste ich die Funktion selber nachbauen, nur hab ich halt gelesen das es die Funktion schon gibt und sämtliche andere socket spezifischen Funktionen auch, daher wollte ich das Rad nicht neu erfinden, und das wird sicher nicht die einzige Funktion sein die ich im laufe des portierens nachbauen müsste. Also erstmal vielen Dank, der Tipp ist ganz gut, was ich so gesehen habe scheint synapse wohl sehr brauchbar zu sein sofern man es am laufen hat. Edit: So, ich habe jetzt weiter programmiert und es so gelöst: function inet_addr(cp:PChar):Integer; cdecl; external 'libc.so'; alles weitere läuft jetzt auch. Mein Server ist portiert =3 Danke trotzdem für die Hilfe! |
AW: UDP Socket von Win auf Linux portieren
Zitat:
Delphi-Quellcode:
ist, dass sie eingeführt wurde, um die Portierung von Kylix-Code zu erleichtern. Sie ist auch absolut linux- und x86-spezifisch. Das heißt, sobald du Code der die LibC-Unit verwendet auf einem BSD oder auch nur einem x86_64-Linux verwenden möchtest, hast du Probleme. Deswegen hat das FPC-Team schon vor langer Zeit die RTL der Unixsysteme bereinigt und nun finden sich entsprechende Funktionalitäten in entsprechenden Units (zugegeben, man muss sie erstmal finden :roll: ).
LibC
Zitat:
Delphi-Quellcode:
dazu einen String der Form 123.123.123.123 in eine IP-Addresse umzuwandeln. Diese Funktionalität findest du in der Unit
inet_addr
Delphi-Quellcode:
. Die Dokumentation dazu findest du
Sockets
![]()
Delphi-Quellcode:
sein (vermute ich mal).
StrToHostAddr
Ich selbst bevorzuge für Netzwerk-/Internetzugriff mit Free Pascal übrigens ![]() Gruß, Sven |
AW: UDP Socket von Win auf Linux portieren
Komisch,zumindest für FPC sollte schon länger keine Libc mehr in Synapse verwendet werden.
Könnte: function IpToStr(value: integer): string; aus der Unit synaip sein was du suchst? ![]() |
AW: UDP Socket von Win auf Linux portieren
Zitat:
Delphi-Quellcode:
in Synapse?
StrToIp
Gruß, Sven |
AW: UDP Socket von Win auf Linux portieren
Ja, also wie gesagt bisher läuft mein Server, ist auch nur was kleines. Für größeres werde ich mir dann wohl mal die Vorschläge ansehen und gucken das ich Synapse ans laufen bekomme oder anderes. Mal sehen was mir zusagt.
Und ähm, danke Captain :D |
AW: UDP Socket von Win auf Linux portieren
Zitat:
jep gibt es auch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz