RTC Forums
November 23, 2024, 02:42:53 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Portal slowdown  (Read 7451 times)
sstuman
RTC Expired
*
Posts: 6


« on: July 25, 2018, 08:40:29 AM »

I understand that the support of RtcPortal is no longer being implemented. But please specify at least which way to look.

Used RtcPortal v5 & RealThinClientSDK_v925_2018Q2 (Full)

1. Run RtcGateway and 2 RtcHost and 1 RtcControl.
2. Connect via "View Desktop" to both hosts.
3. Via Ctrl + Alt + Del we terminate the process of one host
And then the first connection starts to slow down wildly. And it continues until it is restarted host closed
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: July 25, 2018, 10:45:41 AM »

The old RTC Portal Gateway (which has been discontinued and is NO LONGER SUPPORTED) uses Sessions with expiration times to manage Clients online/offline status. So ... even after a Client closes its connection to the Gateway (or its process is terminated), it would stay registered as "online", until its Sessions have expired (two connections are used per Client, each with its own Session). Also, to avoid being flooded with data which might NOT be picked up, and ... to synchronize transfer rates between Clients sending and receiving data, the old RTC Portal Gateway slows down and eventually stops receiving data from connected Clients whose data packets have NOT been picked up by all the recipients.

As a result, because one of your connected Clients is trying to continue communicating with a Client you've disconnected (or terminated), the Gateway is going to slow down and eventually pause the reception of data from your connected Client, until all Sessions from your disconnected Client(s) expire, so the Gateway can stop waiting for (now disconnected Clients) to pick up their packets. At least, that's what I think is happening. But ... if your transfer rate does NOT improve even after all Sessions of your disconnected Client(s) have expired, then your guess is as good as mine.
Logged
sstuman
RTC Expired
*
Posts: 6


« Reply #2 on: July 25, 2018, 11:34:58 AM »

And why in this case does not work automatically close the session?
AutoSessions = True
AutoSessionLive = 30
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #3 on: July 25, 2018, 12:05:32 PM »

Session expiration is handled during garbage collection, when a Session object is unlocked (a Client tries to access its Session), but ONLY if at least two Sessions exist. The purpose of Session expiration is memory cleanup and is handled very loosely. The expiration time is understood as "do not expire before" time and not as "has to expire after" time. There are a number of topics related to this already on the Forums, so please use the search feature on the Forums if you have any other questions about Sessions.
Logged
sstuman
RTC Expired
*
Posts: 6


« Reply #4 on: July 25, 2018, 12:13:22 PM »

Thank you for the clarification. How would you recommend that you finalize the code to exclude slowdowns?
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #5 on: July 25, 2018, 01:46:40 PM »

Don't terminate Clients.
Logged
sstuman
RTC Expired
*
Posts: 6


« Reply #6 on: July 25, 2018, 01:56:04 PM »

It's about improving the code. I need to choose the right direction, given your methodology. The decision not to close customers is not suitable. Where (what module/procedure) does the flooded with data which might NOT be picked up?
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #7 on: July 25, 2018, 02:30:26 PM »

The complete RTC Portal v5 Gateway implementation is in the "rtcPortalGate.pas" unit (included in the RTC Portal v5 "Lib" folder), where you will find the "TRtcPortalGateway" component, which is responsible for handling all the communication with Portal Clients (Hosts and Controls). It uses RTC remote functions with delayed calls and all the code responsible for communication with Clients is implemented as "OnExecute" events linked to "TRtcFunction" components (created and configured in code), which should make it relatively easy to understand.

Anyway ... this is a RTC SDK Support Forum and your questions about RTC Portal are off-topic, so ... let's stop here.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.025 seconds with 16 queries.