2017-10-03 17 views
-4

Je travaille sur python GUI-application avec Tkinter pour échanger des fichiers entre deux PC local Local Client et Local Server en utilisant la bibliothèque socket (Local file transfer). Ce que je veux faire est de parcourir à distance les dossiers Server du Client GUI pour choisir un fichier puis l'envoyer à l'ordinateur Client. En ce moment, je cours le Client et le Server sur la même machine L'appliccation fonctionne comme suit:Python navigation répertoire distant serveur-client

-Après avoir exécuté le script Server, il attend une connexion entrante.

-I exécutez le script Client (GUI) sur la même machine, puis je parcourir les dossiers en utilisant cette fonction:

def browser(self): 
    options = { 
       "mustexist": False, 
       "initialdir": '/media', #default path 
       "title": 'Choose a directory' 
       } 
    #this will open a dialogue window to select the desired directory 
    self.browsePath = tkFileDialog.askdirectory(**options) 
    self.path_Etr.delete(0,END) 
    self.path_Etr.insert(0,self.browePath) 

-Le Client envoyer au Server

le chemin du fichier choisi (texte)

-Le Server renvoyer le fichier

Ce processus fonctionne très bien une même machine (parce que le Client et le Server avait même répertoire tre e).

Mais comment faire cela sur des machines séparées, je me demande s'il existe un moyen de recevoir l'arborescence Server et de le visualiser sur Client GUI ou autre chose?

J'espère que ma question est claire!

+0

Si vous vous demandez pourquoi cette question reçoit autant de votes, c'est parce que vous n'avez fourni aucun code. Vous devriez fournir le code que vous avez essayé d'utiliser et poser des questions sur un problème spécifique que vous avez rencontré. Stack Overflow n'est pas pour de larges questions comme celle-ci. Cela étant dit, bien sûr qu'il y a un moyen. Tkinter est une bibliothèque d'interface graphique. Votre vraie question devrait probablement être liée à "Est-il possible pour Python de lire des fichiers sur un ordinateur séparé" suivi de ce que vous avez fait jusqu'à présent et de ce que vous avez essayé de faire. –

+0

tkanks pour l'explication – XMed

Répondre

0

Vous devez créer un serveur sur l'ordinateur distant, de telle sorte que, lorsqu'il reçoit un répertoire sur sockets, il renvoie le contenu. Sur l'autre ordinateur, vous auriez besoin d'un client. S'il n'y a pas de serveur/client prédéterminé, tous les ordinateurs doivent être des serveurs, jusqu'à ce qu'on leur dise le contraire.

+0

Merci pour votre réponse. Je suis désolé, ma question n'était pas claire (je l'avais juste modifié) – XMed