[fpc-pascal] Implementing a simple tcp/ip connection
Giuliano Colla
giuliano.colla at fastwebnet.it
Thu May 28 17:08:33 CEST 2020
Hi everybody,
I needed to implement a simple dedicated TCP/IP connection between a
client and a server. Nothing fancy, just sending and receiving short
strings.
I have used in the past for that purpose the unit Sockets lifting it
from Delphi/Kylix. This unit was taking advantage of libc, and this
makes it unusable today.
Instead of using heavy libraries such as Synapse, intended or other
purposes I believe I have found a simpler and cleaner solution by just
using the fpc Sockets unit.
This unit however doesn't provide all of the required functionalities.
Therefore I have implemented a small unit which I named klibc, which
provides the extra functions required such as fpinet_addr,
fpgethostbyname etc. and which i share which whomever has similar problems.
As I'm in possess of a valid licence, I also took advantage of the Kylix
Sockets unit, which I adjusted and renamed KSockets to avoid name
clashing. Being copyrighted code I can't share it publicly, but I can
share it privately with whomever is in a similar condition as mine.
I have not yet tested all functionalities, but the Delphi/Kylix NetChat
example works just fine. I only had to add KSockets and BaseUnix in the
uses clause without touching the rest of code. There are a few things
which deserve attention, because some deprecated functions are used,
such as inet_addr (which should be replaced with intet_ntoa, already
supported by klibc) and suspend and resume used in thread handling.
Hope that it can be useful.
--
Do not do to others as you would have them do to you.They might have different tastes.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: klibc.zip
Type: application/x-zip-compressed
Size: 1231 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20200528/4c81c9bd/attachment.bin>
More information about the fpc-pascal
mailing list