recapitulando sockets
Alejandro Delgado Gallego
aledelgal en gmail.com
Mar Nov 7 17:27:56 CET 2006
Bueno, ya he arreglado mis problemas con la lista de distribución,
ahora ya puedo comentar bien el problema:
El caso es que tengo que hacer una aplicación cliente-servidor en la
que el cliente mande archivos de cualquier tipo (música, texto, pdf,
etc...) al servidor a través de un socket, y este se lo guarde en su
sistema de archivos.
De momento, gracias a lo que yo he indagado, a la gente de la lista y
a otros por ahí esto es básicamente lo que tengo:
Cliente:
#por aqui arriba se crea el socket
file_name= sys.argv[3]
f = open(file_name, 'rb')
# recibimos y escribimos en el fichero
l = f.read(f, 1024) # ¿que tamaño se pone?
while (l):
s.send(l)
l = f.read(f, 1024) # ¿que tamaño se pone?
Servidor:
#por aqui se crea el socket y tal...
#nuevo fichero
f = open('file_'+ str(i),'wb') #abierto en escritura binaria
# recibimos y escribimos en el fichero
l = s.recv(1024)
while (l):
f.write(l)
l = s.recv(1024)
f.close()
Por un lado no sé qué tamaño ponerle al buffer, y por otro no sé muy
bien si esto funcionará o no, porque de momento no puedo probarlo,
pero supongo que algo hará. Me habéis dicho lo de leerlo y escribirlo
de forma binaria, que yo no lo sabía, pero no sé si ya con esto el
cliente será capaz de mandar al servidor una canción en mp3, por
ejemplo.
Muchas gracias y un saludo
--
__][ALeX][__
Más información sobre la lista de distribución Python-es