Ferramentas de Utilizador

Ferramentas de Site


dev_geral:python:transferir_via_sockets

Transferir Arquivos via Sockets

Esta página não se encontra completa, por favor ajude a melhorá-la

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.

Tópico de discussão no fórum: Transferir arquivos via Socket
dev_geral/python/transferir_via_sockets.txt · Esta página foi modificada pela última vez em: 2018/05/14 21:37 (Edição externa)