python-套接字不接收数据
我正在尝试在UDP上实现RFC1350。到目前为止,发送一份文件一切顺利 从服务器到客户机的工作非常有魅力,我给出了将数据接收到服务器并将数据发送到客户机的方法,但这个方向是行不通的 密钥服务器代码:python-套接字不接收数据,python,sockets,networking,Python,Sockets,Networking,我正在尝试在UDP上实现RFC1350。到目前为止,发送一份文件一切顺利 从服务器到客户机的工作非常有魅力,我给出了将数据接收到服务器并将数据发送到客户机的方法,但这个方向是行不通的 密钥服务器代码: def listen(self): while True: packet, address = self.serverSocket.recvfrom(512) mode = str(packet)[2:5] self.file =
def listen(self):
while True:
packet, address = self.serverSocket.recvfrom(512)
mode = str(packet)[2:5]
self.file = str(str(packet)[6:]).replace("'", "")
if(mode == "RRQ"):
self.sendResponse(address)
else:
self.receiveData()
def receiveData(self):
data = open("new1.jpg", "wb")
while True:
packet, server = self.serverSocket.recvfrom(512)
if packet.__len__() == 512:
data.write(packet)
else:
data.write(packet)
break;
关键客户代码:
def sendWRQ(self):
request = 'WRQ-' + self.file
self.clientSocket.sendto(str(request).encode(), (self.serverAddress, self.serverPort))
self.sendData()
def sendData(self):
with open(self.file, "rb") as data:
while True:
packet = data.read(512)
if packet != b"":
self.clientSocket.sendto(packet, (self.serverAddress, self.serverPort))
else:
self.clientSocket.sendto(packet, (self.serverAddress, self.serverPort))
break
time.sleep(0.0005)
- 服务器类:
- 客户端类: