Irei explicar neste simples exemplos, como transferir um arquivo de um determinado local (seu computador por exemplo), para outro local qualquer, através de socket.
Em Python, manipular sockets é uma tarefa extremamente FÁCIL.
Pois bem, vamos supor que você que transferir um FICHEIRO.rar do seu computador, para outro computador: Este outro computador, deve estar rodando o Servidor, esperando uma conexão do Cliente.
# Servidor import socket print "Servidor" HOST = "localhost" PORT = 57000 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Escutando a porta..." s.bind((HOST,PORT)) s.listen(1) print "Aceitando a conexao..." conn,addr= s.accept() print "recebendo o arquivo..." arq = open('File_ouputt.rar','wb') while 1: dados=conn.recv(1024) if not dados: break arq.write(dados) print "saindo..." arq.close() conn.close()
Então no seu PC você com o Arquivo FICHEIRO.rar, executará o Cliente.py
# Cliente import socket print "Clinte" HOST='localhost' #coloca o host do servidor PORT=57000 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) print "conectando com servidor..." s.connect((HOST,PORT)) print "abrindo arquivo..." arq=open('File.rar','rb') print "enviado arquivo" for i in arq: #print i s.send(i) print "saindo..." arq.close() s.close()
Este exemplo acima é muito simples, você pode adaptar, modificar e melhorar toda sua estrutura de acordo com a necessidade.