[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 
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