2010-10-14 26 views
2

Je connais les paramètres de délai d'attente pour certaines exécutions sur Internet.Quels sont les problèmes avec une longue connexion ouverte à un serveur Web à partir d'un appareil connecté via wifi?

Mon application iphone télécharge des vidéos sur Internet via une connexion de routeur wifi.

J'ai entendu qu'une telle connexion ne devrait pas être ouverte plus de 240 secondes? Est-ce vrai?

Quels dangers/menaces de sécurité/problèmes/etc vais-je rencontrer plus je augmente le délai d'attente? Pourquoi les connexions Internet ont-elles un délai d'expiration?

Par exemple, si j'augmente le délai à 10 ou 20 minutes alors est-ce une mauvaise pratique? Garder à l'esprit que ce n'est pas une connexion sécurisée ou quoi que ce soit, c'est juste une connexion normale - télécharger le style de données.

Pour toute personne ayant une expérience iphone, il s'agit d'une connexion NSURLConnection.

Merci

Tom

Répondre

1

Si la connexion avait une certaine activité sur elle, il serait normal de le laisser ouvert pendant une longue période de temps.

Si vous parlez de longues périodes de inactivité - c'est un autre problème.

Dans ce cas, je ne pense pas qu'il serait productive pour augmenter le délai d'attente - que les chances sont, le serveur à l'autre bout serait le moment liquider la connexion. Alors comme c'est inévitable (ou incontrôlable par vous, le client) - Je vous conseille de fermer la connexion et ré-ouvrir lorsque vous avez besoin de communiquer à nouveau.

+0

qu'en est-il de [Comet Programming] (http://en.wikipedia.org/wiki/Comet_%28programming%29)? –

+1

Il se peut que ce ne soit même pas le serveur qui expire la connexion. Il y a beaucoup plus d'équipement entre le téléphone et le serveur. Les firewalls stateful et les passerelles NAT considèrent souvent une connexion inactive comme "morte" et suppriment l'entrée correspondante. –

+0

@Jesse: Très vrai. Juste aujourd'hui, j'ai été ssh'd dans une machine externe, en utilisant le port 80 pour contourner les paramètres de pare-feu dans mon entreprise. Quand je laissais ma session SSH inactive pendant quelques minutes, cela perdait la connectivité. La raison en est: Le NAT/Firewall de l'entreprise ferme les sessions HTTP (port 80) qui sont inactives trop longtemps. – Brad