Есть следующий работающий код:
def main():
print(MY_LOCAL_IP)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.bind((MY_LOCAL_IP, 5000))
server_socket.listen()
while True:
client_socket, client_addr = server_socket.accept()
request = client_socket.recv(1024)
response_for_client = response(request)
client_socket.sendall(response_for_client.encode('windows-1251'))
client_socket.close()
При подключении к сокету этого "сервака", я успешно могу с ним работать, получать от него ответы и тп.
Допустим хочу чтобы при подключении к серверу через браузер, сразу начиналось скачивание mp3 файла, который отправляет сервер.
Я пробовал:
with open('1.mp3', 'rb') as audio:
client_socket.sendall(audio.read())
но получаю ответ:
"Сайт <...> отправил недействительный ответ.
ERR_INVALID_HTTP_RESPONSE"
Как я понимаю нужно правильно передавать заголовки и тп чтобы браузер понял какие данные ему передает сервак. Но никак не пойму как это правильно сделать.