Board index » delphi » Multi-Thread vs Win98

Multi-Thread vs Win98


2007-02-02 01:48:17 AM
delphi169
Hi friends!
I have develop a simple cliente/server using TCP connection.
When my client program run under win98, after a few minutes using it, it
raise a exception, connection reset by pear.
I have note, all threads under my application (indy or not) isn't working
correctly under Win98.
I believe that is a limitation using Win98 + Multi-Thread.... isn't ?
Someone can help me, give me a explication or a solution???
Thanks!
Sorry, but my language isn't english!
 
 

Re:Multi-Thread vs Win98

Beto Neto writes:
Quote
I have note, all threads under my application (indy or not) isn't
working correctly under Win98.

I believe that is a limitation using Win98 + Multi-Thread.... isn't ?

Someone can help me, give me a explication or a solution???
threads were workable under 98 without a lot of grief. What errors are
you getting?
--
Liz the Brit
Delphi things I have released: www.xcalibur.co.uk/DelphiThings
 

Re:Multi-Thread vs Win98

I don't know the errors, the client only disconnects with "Connection reset
by peer"...
I have check a callstack, and it is referenced directly with the windows API
managament threads fucntions...
"Liz" <XXXX@XXXXX.COM>escreveu na mensagem
Quote
Beto Neto writes:

>I have note, all threads under my application (indy or not) isn't
>working correctly under Win98.
>
>I believe that is a limitation using Win98 + Multi-Thread.... isn't ?
>
>Someone can help me, give me a explication or a solution???

threads were workable under 98 without a lot of grief. What errors are
you getting?

--
Liz the Brit
Delphi things I have released: www.xcalibur.co.uk/DelphiThings
 

Re:Multi-Thread vs Win98

"Beto Neto" <XXXX@XXXXX.COM>writes
Quote
When my client program run under win98, after a few minutes
using it, it raise a exception, connection reset by pear.
A "peer" refers to "the other party", which is the server in this
case. So you are losing the socket connection on the server side, and
the error is being sent back to the TCP stack on the client machine.
That has nothing to do with the OS version that the client runs on.
Quote
I believe that is a limitation using Win98 + Multi-Thread.... isn't
?
No, it is not.
Gambit
 

Re:Multi-Thread vs Win98

Beto Neto writes:
Quote
I don't know the errors, the client only disconnects with "Connection
reset by peer"...

That means something else closed the port, eg, firewall, router, etc. I
guess it could be as a result of lack of response from a thread, but
more likely its something else.
--
Liz the Brit
Delphi things I have released: www.xcalibur.co.uk/DelphiThings
 

Re:Multi-Thread vs Win98

On Thu, 1 Feb 2007 15:48:17 -0200, Beto Neto writes:
Quote
I believe that is a limitation using Win98 + Multi-Thread.... isn't ?
I don't know of any major limitation of threads in Windows 98, however
different OSs usually react slightly differently in multi-threaded
situations (i.e. timing) and often you find new bugs just by changing
OSs.
--
Marc Rohloff [TeamB]
marc -at- marc rohloff -dot- com
 

Re:Multi-Thread vs Win98

Quote
>I believe that is a limitation using Win98 + Multi-Thread.... isn't
?

No, it is not.
And why under Windows XP it works 100% correctly!
"Remy Lebeau (TeamB)" <XXXX@XXXXX.COM>escreveu na mensagem
Quote

"Beto Neto" <XXXX@XXXXX.COM>writes
news:XXXX@XXXXX.COM...

>When my client program run under win98, after a few minutes
>using it, it raise a exception, connection reset by pear.

A "peer" refers to "the other party", which is the server in this
case. So you are losing the socket connection on the server side, and
the error is being sent back to the TCP stack on the client machine.
That has nothing to do with the OS version that the client runs on.

>I believe that is a limitation using Win98 + Multi-Thread.... isn't
?

No, it is not.


Gambit


 

Re:Multi-Thread vs Win98

Hi,
It might not have anything to do with multi-threading. If you compare
Win98 to WinNT/2000/XP ... well let's say 98 was not so stable.
Regarding multi-threading, you have to remember that MS was pretty new
in this area with 9X-es and much changed since. Currently, if I would
be asked to support a multithreaded app under Win98, I'd not do it,
or ... I'd ask a lot of money for this job.
Lucian
 

Re:Multi-Thread vs Win98

"Beto Neto" <XXXX@XXXXX.COM>writes
Quote
Hi friends!

I have develop a simple cliente/server using TCP connection.

When my client program run under win98, after a few minutes using it, it
raise a exception, connection reset by pear.

What source code are you using? Specifically, which Delphi component
framework? You need to give a little more info....
-d
 

Re:Multi-Thread vs Win98

I have a NT Service installed on an Win2003Server with a IdTCPServer.
The client just connect and send info about itselft to validate it access on
my system...
In the client application, I have a Timer that "readln" from the server, to
know when the application must be closed...
Code:
S := IdTCPClient.ReadLn('', 5);
if S = 'DISCONNECT' then
Halt(0);
This code, after a time, appears not working correctly, over Win98, and
disconnect the client without receiving the DISCONNECT message from server..
The IdTCPClient just annihilate the peer connection....
Why ?!! How ???
"Dennis Landi" <XXXX@XXXXX.COM>escreveu na mensagem
Quote

"Beto Neto" <XXXX@XXXXX.COM>writes
news:XXXX@XXXXX.COM...
>Hi friends!
>
>I have develop a simple cliente/server using TCP connection.
>
>When my client program run under win98, after a few minutes using it, it
>raise a exception, connection reset by pear.
>


What source code are you using? Specifically, which Delphi component
framework? You need to give a little more info....

-d

 

Re:Multi-Thread vs Win98

Beto Neto writes:
Quote
I have a NT Service installed on an Win2003Server with a IdTCPServer.

The client just connect and send info about itselft to validate it
access on my system... In the client application, I have a Timer
that "readln" from the server, to know when the application must be
closed...

Code:
S := IdTCPClient.ReadLn('', 5);
if S = 'DISCONNECT' then
Halt(0);
This might have nothing to do with your code at all.
Perhaps the connection is just timing out on you and dropping the
connection.
Reads do nothing for the connection if no data is available, especially
not server side.
Perhaps you need another timer doing a kind of "keep-alive" by sending
some data to the server and wait explicitly for the reply.