2010-10-01 8 views
1

Je fais un programme relativement simple qui fonctionnera aussi sur quelques ordinateurs amis et ils ont besoin de partager quelques informations. Ils auront besoin d'échanger des ips au cas où ils seraient changés via dhcp et peut-être quelques autres choses dans le futur, mais maintenant c'est ça (ça sera probablement utilisé pour mettre à jour le programme si je le change aussi je le vois). S'il y a une meilleure façon, sans avoir de serveur intermédiaire, de les empêcher de perdre l'ip qui serait utile aussi, mais dans le pire des cas, je peux simplement les appeler et demander car cela arriverait si rarement, si jamais. Nos isps renouvellent tous les 30 jours je crois, et ils gardent souvent le même de toute façon, donc je doute que ce soit un problème, mais si c'est si rare, ce serait un inconvénient mineur.Quel est le meilleur moyen de transférer des données avec une application distante sur Internet?

Je n'ai pas fait beaucoup de programmation réseau/script avant donc je ne suis pas sûr d'où aborder cette question. J'ai utilisé urllib/urllib2 et mécanisé, mais je suppose que ceux-ci, bien qu'ils puissent fonctionner, ne sont pas une solution élégante. Je pensais que les PC communiqueraient simplement via un port spécifié et écouteraient juste par là, mais je ne sais pas quel module gérerait une telle chose.

Merci amis.

+0

"Je suppose que ceux-ci, bien qu'ils pourraient travailler, ne sont pas une solution élégante" Pourquoi pas? Veuillez expliquer pourquoi l'un d'entre vous ne peut pas exécuter un serveur FTP et que les autres exécutent des clients FTP? –

Répondre

2

Si le changement d'adresse IP est votre principale préoccupation, un service comme dyndns.com serait certainement utile. (Vous pouvez également obtenir des clients automatiques, ce qui mettra à jour votre entrée DNS lorsque votre adresse IP changera.)

Après cela, pour le transfert de données, il vaut mieux utiliser les protocoles existants (par exemple HTTP, FTP, ...). Il y a beaucoup de bibliothèques de serveurs HTTP existantes par exemple. Peut-être que quelque chose basé sur ce serait intéressant: http://docs.python.org/library/basehttpserver.html

+0

J'ai pensé à cela aussi, car j'ai (très peu) d'expérience dans l'utilisation de ce module, mais je me suis dit qu'il pourrait y avoir une façon encore plus légère de le faire. Cela pourrait certainement fonctionner si rien de mieux n'est suggéré. – kryptobs2000

+0

Je vais appuyer ceci, HTTP est de loin le moyen le plus simple de transférer des fichiers sur le réseau. Les bibliothèques client HTTP de Python sont un peu terribles, cependant - pensez à utiliser httplib2 si elles commencent à vous énerver;) –

+0

Ok, bien après 2 suggestions à ce sujet je pense que c'est l'approche que je vais prendre, et merci pour la recommandation vers httplib2 statique, n'avait pas entendu parler de cela avant. – kryptobs2000