Re: Remobjects, good in multi-threading environment?



Hi Arthur,

ICS can be used in blocking and non-blocking mode.
You can find examples of threaded servers in the package.

For ICS-specific problems, you should register to the ICS list
twsocket@xxxxxxxxxx
You'll get the solution for problems much faster

Paul



"Arthur Hoornweg" <antispam.hoornweg@xxxxxxxxxxxxx> schreef in bericht
news:4758fa1a$1@xxxxxxxxxxxxxxxxxxxxxxxxx
Danijel Tkalcec wrote:

have you actually used the RTC SDK in a project, or are you making
assumptions about the RTC SDK because it can use the WinSock API in async
mode, like ICS does? Or are you one of ICS users who still think that the
RTC SDK is based on ICS?

Hello Danijel,

I quote the (c) message from wsocket_rtc.pas, which speaks for itself as
far as the socket component is concerned.

{
"WinSock components" - Copyright (c) Danijel Tkalcec
@html(<br>)

Based on: [
ICS by François PIETTE
francois.piette(at)overbyte.be http://www.overbyte.be
francois.piette(at)rtfm.be http://www.rtfm.be/fpiette
francois.piette(at)pophost.eunet.be
Copyright (C) 1996-2004 by François PIETTE
Rue de Grady 24, 4053 Embourg, Belgium. Fax: +32-4-365.74.56
<francois.piette(at)overbyte.be> ]

@exclude
}

The non-blocking nature of ICS' twsocket makes it extremely hard to
debug in a multi-threading environment. Instead of just reading/writing
to a hsocket (blocking the thread until it is done, and returning a status
value) one has to rely on an asynchronous message handler deep inside
the belly of the socket component to do the work and either throw
exceptions or callback events in case of an error.
Therefore bugs/exceptions do not surface in the locations where I do
the actual communication. In fact they do not even occur at the moment
when I do the communication. They surface somewhat later and
somewhere deep inside the dungeons of twsocket. If I'm lucky. That is
where I'm stuck now, unable to debug it. If I had used a blocking socket
component instead, at least I would be able to debug it. For that reason
I'm now looking for a "blocking" solution primarily.

I'm not saying that ICS is bad (it is quite good) or that RTC is bad (I
simply have too little experience with it).





--
Arthur Hoornweg

(In order to reply per e-mail, please just remove the ".net"
from my e-mail address. Leave the rest of the address intact
including the "antispam" part. I had to take this measure to
counteract unsollicited mail.)


.



Relevant Pages

  • Re: Help me pick up a TCP/IP suit
    ... You can use it in blocking and non-blocking mode. ... Both for ease of programming and stability, I'd go for Synapse. ... I have used all three libraries (ICS, ... Synapse is "pure" blocking sockets without unnecessary event handlers ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: Remobjects, good in multi-threading environment?
    ... making assumptions about the RTC SDK because it can use the WinSock API in async mode, ... Or are you one of ICS users who still think that the RTC SDK is based on ICS? ... the belly of the socket component to do the work and either throw ...
    (borland.public.delphi.thirdpartytools.general)