我正在尝试使用python(仅限于套接字编程)向客户机(浏览器:Chrome)发送一个文件(mp3)。我的问题是文件被下载了,而不是在浏览器上进行流式传输。我不明白我哪里错了。请告诉我。在
另外,下载的音频文件没有损坏,我可以播放音频。在
这是我的代码:import socket
import os
import time
from encodings.base64_codec import base64_encode
serversocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
port=8000
def createServer():
serversocket.bind(("",port))
serversocket.listen(5)
file=open('music.mp3',"rb")
z=file.read()
var=len(z)
file.close()
(clientsocket, address) = serversocket.accept()
clcommand=clientsocket.recv(1024).decode('utf8')
header="HTTP/1.1 200 OK"
header1="Content-Type: audio/mpeg"
header2="Content-Length: {}".format(var)
blank="\r\n"
sendt=header+header1+header2+blank
clientsocket.send(sendt.encode())
file=open("music.mp3",'rb')
z=file.read(512)
while (z):
try:
clientsocket.send(z)
z=file.read(512)
except:
print("done sending")
exit()
createServer()