[fpc-pascal] Re: Odyssey: SSockets and Threads.
Ludo Brands
ludo.brands at free.fr
Thu Apr 25 08:17:04 CEST 2013
On 04/24/2013 10:21 PM, silvioprog wrote:
> 2013/4/24 silvioprog <silvioprog at gmail.com <mailto:silvioprog at gmail.com>>
>
> Hello,
>
> There are a multi-thread example using SSockets in FPC?
>
> I'm trying to implement it*, but it's very hard and this work it's
> consuming all my time. The difficulty is to read and write at the
> same time. I'm almost certain that using SSockets, I would have to
> create one socket for writing and one for reading, separately by
> threads.
>
> Thank you!
>
> * https://bitbucket.org/silvioprog/tcpipcomp (this repo is
> temporary, and this all code can undergo drastic changes at any time)
>
>
> ... like ScktComp of Delphi. (no Synapse, LNet or Indy please, I need to
> use native code)
>
what is the problem with using Synapse, LNet or Indy? Seen the questions
you are asking I would suggest you use an existing library and stay away
from writing your own socket library or start with learning the basics
of socket programming.
SOCK_STREAM sockets are full duplex and you can read and write
simultaneously on them, even without threading if you use non blocking
mode. SSocket has a Property NonBlocking but I don't see any code that
handles the EAGAIN or EWOULDBLOCK errors. That is probably left to the
user of TSocketStream to deal with. So SSocket is a really thin layer
that leaves the user with all the problems you are trying to solve.
Ludo
More information about the fpc-pascal
mailing list