Could it be that there is some hardwired limit of the number of connections in Remobjects Remoting?
I have a multi-threaded client application that communicates with a lot of servers on the internet using TROSynapseSuperTCPChannel. All in all there are like 400 of such communication threads working simultaneously. The Remoting SDK version is 10.0.0.1495.
I have the problem that sometimes this superchannel fails to auto-reconnect when there has been a short network interruption. This happens several times daily now and it is becoming a real problem for me. When such an outage occurs, the first exception I get is EROtimeout (after 10 seconds), then subsequently I get ERoSuperChannelException “No connection available”, endless times , and each time that takes 25.6 seconds. Sometimes it just won’t autoreconnect and I can only completely terminate the thread and re-create it to get things going again.
These are the settings I use in each communication thread :
AES_Encryption_envelope := TROAESEncryptionEnvelope.Create(Self);
AES_Encryption_envelope.EnvelopeMarker := ‘AES’;
fMessage := TROBinMessage.Create(Self);
fMessage.MinSizeForCompression := 1024;
item := fMessage.Envelopes.Add as TROMessageEnvelopeItem;
item.Envelope := AES_Encryption_envelope;
fClientChannel := TROSynapseSuperTCPChannel.Create(Self);
fClientChannel.SynchronizedProbing := False;
fClientChannel.AckWaitTimeout := 15000;
fClientChannel.AutoReconnect := TRUE;
Attachevents; //connects client channel events (such as onException etc)
//“host” and “port” are set at a later stage.