python transferência de arquivo de soquete

Estou tentando gravar arquivos de transferência ou pedaços de dados em um soquete. Sinto como se estivesse reinventando a roda, mas minhas pesquisas por uma solução simples falharam (tudo o que acho é muito simples ou muito complexo). O servidor seria executado em um telefone executando o python 2.5.4. O aplicativo pretendido seria sincronizar arquivos de música entre o telefone e um computador hos

Esta é a coragem do que tenho, que parece funcionar. Envio e recebo 'ok' para interromper os fluxos.

nviar o 'ok' para frente e para trás essencialmente como bits de parada para interromper o fluxo de dados é uma técnica razoáve

Existe uma maneira padrão de fazer isso?

Executar qualquer tipo de servidor de biblioteca (ftp, http) no telefone não é uma solução útil, considerando os limites de memória e capacidade de processamento do telefon

servidor

import socket

c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
c.bind(('', 1234))
c.listen(1)
s,a = c.accept()

while True:
    data = s.recv(1024)
    cmd = data[:data.find('\n')]

    if cmd == 'get':
        x, file_name, x = data.split('\n', 2)
        s.sendall('ok')
        with open(file_name, 'rb') as f:
            data = f.read()
        s.sendall('%16d' % len(data))
        s.sendall(data)
        s.recv(2)

    if cmd == 'end':
        s.close()
        c.close()
        break

cliente

import socket

s = socket.socket()
s.connect(('192.168.1.2', 1234))

def get_file(s, file_name):
    cmd = 'get\n%s\n' % (file_name)
    s.sendall(cmd)
    r = s.recv(2)
    size = int(s.recv(16))
    recvd = ''
    while size > len(recvd):
        data = s.recv(1024)
        if not data: 
            break
        recvd += data
    s.sendall('ok')
    return recvd

print get_file(s, 'file1')
print get_file(s, 'file2')
s.sendall('end\n')

questionAnswers(5)

yourAnswerToTheQuestion