[fpc-pascal] Basic Sockets in FreePascal
Mark Morgan Lloyd
markMLl.fpc-pascal at telemetry.co.uk
Sun Jul 26 17:47:52 CEST 2015
Michael Van Canneyt wrote:
> On Sun, 26 Jul 2015, Coyo wrote:
>> I have read on the wiki and documentation that FreePascal does not
>> have any native support for socket handling, and that you need an
>> external third party library to have any support for it.
> This is not correct. Of course Free Pascal has native support for socket
> handling ?
Knowing the URL of that wiki page would be useful, so that we can fix it
if it really is broken. What version of FPC is the documentation for?
>> I want to write an IRC bot in FreePascal, but I need the ability to
>> both make outgoing connections to IRC servers or other bots of the
>> same kind, as well as accept incoming connections from other bots.
>> I'd prefer as straightforward TCP sockets support as I can get. Any
>> advice would be greatly appreciated. Thank you in advance for your
>> time and patience.
> Just use the sockets or ssockets units. The first is plain pascal and a
> straightforward interface as you encounter it in any C implementation,
> the second is using classes.
Seconded, it's something I do on a regular basis when I have to do
something with a non-standard protocol. However I think there's a couple
of points worth considering.
The first is that the Pascal /language/ doesn't have implicit support
for sockets, you need to import an appropriate unit/library. That's
going to be the case for almost all general-purpose languages, with the
exception of things like Perl and Python which try to build in
everything a programmer might need including the kitchen sink.
The second is that for standard protocols like FTP and HTTP it might be
better to use a third-party library to avoid reinventing the wheel when
it comes to security etc., some of these- for example Synapse- are
routinely used by almost everybody but aren't packaged with FPC because
their developers prefer to stay independent.
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the fpc-pascal