【发布时间】:2022-01-08 20:25:16
【问题描述】:
我最近开始学习套接字编程。我正在尝试编写一个 python 程序来将文件从服务器传输到客户端。我已经编写了以下代码。它运行得很好......但我没有在客户端获取文件(可能没有发生传输)。
这是服务器端代码:
import socket
host = "127.0.0.1"
port = 12000
buffer_size = 1024
file_name = 'Myfile.txt'
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((host,port))
sock.sendto(file_name.encode(),(host,port))
f = open(file_name, "r")
data = f.read(buffer_size)
while data:
print(data)
if(sock.sendto(data.encode(), (host, port))):
data = f.read(buffer_size)
sock.close()
f.close()
这是客户端代码:
import socket
host = "127.0.0.1"
port = 12000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((host,port))
f= open('Myfile2.txt','wb')
print('New file created')
while True:
data, addr = sock.recvfrom(1024)
print(data)
while(data):
f.write(data.decode("utf-8"))
data, addr = sock.recvfrom(1024)
print('File is successfully received!!!')
f.close()
f = open('Myfile2.txt','r')
print(f.read)
f.close()
sock.close()
print('Connection closed!')
谁能帮我找出代码中的问题?提前谢谢!!!
【问题讨论】:
-
谢谢...我已经阅读了这个...这真的很有帮助。实际上,我正在尝试找出我的代码的问题。
标签: python sockets udp file-transfer