Comment les serveurs FTP gèrent-ils l'accès simultané au même fichier, c'est-à-dire si un utilisateur met à jour un fichier tandis qu'un autre lit le même fichier? Dois-je m'inquiéter d'obtenir des données corrompues? Dépend-il du serveur FTP ou même du système d'exploitation?
Je pense que les implémentations FTP ne traitent tout simplement pas de cela, et le système d'exploitation variera sur la façon dont il le fait, Windows pourrait verrouiller le fichier, Linux vous donnera des données partielles.
Oui, vous devriez vous inquiéter, surtout en cas d'utilisation élevée. Les solutions que j'ai trouvées par le passé étaient au mieux fragmentaires, y compris différents dossiers pour le téléchargement / téléchargement et un processus de contrôle pour copier du téléchargement vers le téléchargement lorsque le fichier est entièrement téléchargé.
Cela empire à mesure que les fichiers sont plus longs et / ou que les gens téléchargent à partir de connexions lentes.
Je suis sûr que vous pourriez avoir des problèmes. Essaye ça:
Démarrez le téléchargement d'un gros fichier sur votre serveur FTP. Actualisez la vue du dossier dans lequel il est téléchargé et vous verrez que la taille du fichier augmente et que le téléchargement progresse.
Si vous essayez ceci avec un fichier .mp3. Vous pouvez y accéder via le navigateur et voir qu'il ne jouera que jusqu'au point qui a été actuellement téléchargé.
C'est pourquoi des programmes comme Dreamweaver ont un système de check in / check out. Ainsi, si quelqu'un travaille sur un fichier .html, quelqu'un d'autre ne peut pas télécharger une ancienne version ou provoquer ce genre de problèmes.
Je ne pense pas que FTP utilise des fichiers temporaires ou des files d'attente non plus ...
Correct. Une fois, j'ai décompressé un fichier qui n'a pas été transféré complètement. Des messages d'erreur bizarres, bien sûr ...
Arjan
Je pense que la mise à jour et le fichier existant sont différents de la création d'un nouveau fichier (la lecture ne commencera pas avant la création, puis elle suivra l'écriture). Si la lecture passe au-delà de l'écriture, vous obtenez des lectures incomplètes. Un fichier ZIP incomplet montrera une corruption. Un mp3 incomplet jouera jusqu'au premier point de corruption (je pense). C'est une différence dans les formats de fichiers.
nik
Une modification / écrasement d'un fichier existant doit identifier une lecture en cours et créer une nouvelle version à écrire, en conservant l'ancienne pour que la lecture se termine. C'est pourquoi je dis dans ma réponse qu'un système de fichiers typique donnerait une copie plus ancienne du fichier dans un tel cas.
nik
0
Chaque fois que j'essaie d'accéder à une page que je n'ai pas encore téléchargée, je reçois une "réinitialisation de la connexion lors du chargement". Je pense que cela dépend vraiment du logiciel.
L'utilisation d'un logiciel de contrôle des révisions aiderait dans ce cas, jetez un œil à Git et SVN , notez qu'il existe deux types principaux (centralisés et distribués) et de nombreuses autres applications en plus de ces deux.
Chaque fois que j'essaie d'accéder à une page que je n'ai pas encore téléchargée, je reçois une "réinitialisation de la connexion lors du chargement". Je pense que cela dépend vraiment du logiciel.
la source
L'utilisation d'un logiciel de contrôle des révisions aiderait dans ce cas, jetez un œil à Git et SVN , notez qu'il existe deux types principaux (centralisés et distribués) et de nombreuses autres applications en plus de ces deux.
la source