我正在使用基于Python的基于Socket的文件传输脚本。服务器可以有10个客户端连接到它,所有发送文件。问题是,它只发送一个名为'libroR.pdf'的文件,如果可能的话,我希望用户能够指定要发送到服务器的自定义文件的名称和位置。如果可能的话,我也希望能够为客户端指定一个自定义的主机名来连接。如何在这个Python Socket中调用文件名?
服务器:
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()
谢谢,肖恩。 :)
你能解决这个缺口?它看起来像你的while循环变平了。 –
是的,我明白了。只是修复它。 – seanthewebber