私はPythonソケットベースのファイル転送スクリプトに取り組んでいます。サーバーには10台のクライアントを接続して、すべてファイルを送信できます。問題は、「libroR.pdf」という名前のファイルのみを送信することです。可能であれば、サーバーに送信するカスタムファイルの名前と場所をユーザーが指定できるようにしたいと思います。可能であれば、クライアントが接続するカスタムホスト名も指定できるようにしたいと思います。
サーバ:
import socket
import sys
s = socket.socket()
s.bind(("localhost",9999))
s.listen(10) # Acepta hasta 10 conexiones entrantes.
while True:
sc, address = s.accept()
print address
i=1
f = open('file_'+ str(i)+".pdf",'wb') #open in binary
i=i+1
while (True):
# recibimos y escribimos en el fichero
l = sc.recv(1024)
while (l):
f.write(l)
l = sc.recv(1024)
f.close()
sc.close()
s.close()
クライアント:
import socket
import sys
s = socket.socket()
s.connect(("localhost",9999))
f=open ("libroR.pdf", "rb")
l = f.read(1024)
while (l):
s.send(l)
l = f.read(1024)
s.close()
ありがとう、ショーン。:)