[Spread-users] cannot re-connect
tcurdt at apache.org
Sun Dec 3 13:00:42 EST 2006
On 12/1/06, Jonathan Stanton <jonathan at cnds.jhu.edu> wrote:
> This is a known limitation of TCP connections, if the server socket is
> closed before the clients, the server socket enters a wait state for a
> few minutes. During this time the server can not reuse the same port
> If you look in the sample spread.conf file, there is a documented option
> called SocketPortReuse that can address this.
Aaah ...perfect that's what I was missing :)
> However, you can set it to always reuse the port number by changing the
> value to "ON". The reason we don't do this by default is that it is a
> security risk because other processes on the same machine as the Spread
> daemon can also bind to the same address/port as Spread then and capture
> the Spread traffic or interfere with it (depending on OS/version)
> If you set it to ON you will not have a problem with restarting the
> spread daemon.
OK ...working now :)
> I understand your idea for a SpreadConnection.isConnected(), in many
> cases I didn't think it was needed as whenever you try to use the
> connection, if it was broken you will get an immediate error and can
> recover from it by reconnecting. Is there some other scenario where it
> would be useful?
Well, the question is - when do I know I have to re-establish the
connection to spread?
IMO there is no obvious way to find out. Just getting a
SpreadConnection when trying to send a message is a bit of a weak
contract. Who knows what else could be the possible cause of the
exception ...as it is a pretty generic exception. So I thought I could
check whether the connection is still intact once I get an exception -
but there is no such thing to check.
See the problem? Any idea?
More information about the Spread-users