RTC Forums
April 25, 2024, 11:11:46 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Affect of an Open Request on Port Availability  (Read 3859 times)
Andrew.W
RTC License
***
Posts: 43


« on: March 01, 2012, 05:55:48 PM »

Hi Daniel

My app is running fine, and is stable.

I now have a situation where the server needs to be able to the client 'hey, you need to do something'. This is something new.

I know the way to implement this is with a long-timeout call from the client to the server. If the server has something to say, it responds. Otherwise it keeps the call open for many minutes.

Are there any adverse effects regarding port exhaustion I need to be aware of? I've having some difficulties at the moment determining how many ports are in use, and therefore can't test this myself.

Cheers,
Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #1 on: March 01, 2012, 06:21:46 PM »

As long as you don't have thousands of Clients and your Clients don't disconnect from the Server too often, you should be fine keeping a connection open for 30-60 seconds, without sending a response from the Server, but I would avoid keeping a connection active for longer without any traffic, because some Proxy servers could get the idea that there is a problem with the connection and close it.

If you want to stay on the safe side, I recommend keeping the connection open for max 30 seconds without a reply. If the Server still doesn't have anything for the Client, send a response that will tell the client this. And ... do NOT force-close connections by the Server.

If you have a specific question, please let me know.

Best Regards,
Danijel Tkalcec
Logged
Andrew.W
RTC License
***
Posts: 43


« Reply #2 on: March 01, 2012, 06:42:45 PM »

Thank you Daniel, that answer is clear.

I have a lot of clients. At the moment in is between 500 and 1000, but the new application will cause this to go up. I have a lot to lose because reliability is high.

Maybe there is no way to do what I want with HTTP, which is once in a while just say to the client 'There is something you have to process right now'. It might be I have to poll. The reason I don't like polling is because you have an inbuilt delay between polls.

Logged
D.Tkalcec (RTC)
Administrator
*****
Posts: 1881


« Reply #3 on: March 02, 2012, 09:23:52 AM »

I would recommend you to start by implementing a periodic "poll" from the Client, using a short enough delay between polls to make it suitable for your purpose. Should this result in too much traffic overhead, you can always extend the Server to use "Delayed Calls" and reduce the traffic, without making any changes to your Clients.

Best Regards,
Danijel Tkalcec
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.022 seconds with 16 queries.