Как отправлять файлы из websocket сервера python?
Я новичок в программировании, я делал простой http сервер на python который обрабатывал get и post запросы, далее мне понадобилось использовать протокол websocket, я нашел пример клиента и сервера (файл html должен быть у каждого клиента), и попытался его добавить в мой код, но ничего не работает. Я приложу файл сервера и клиента (файл html), как реализовать чтобы файл отправлялся с сервера при get запросе, а не приходилось его предварительно скачивать и открывать на каждом клиенте?
<!DOCTYPE html>
<html >
<head>
<meta charset="utf-8">
<title>
Работа с сокетами на python
</title>
</head>
<body>
<div class="message"></div>
<textarea placeholder="Для отправки нажмите Enter"></textarea>
<script>
var socket = new WebSocket("ws://localhost:5678");
socket.onopen = function(){
document.querySelector("textarea").addEventListener('keyup', function(e){
if(e.keyCode === 13){
if(this.value.trim() === ""){
return false;
}
socket.send(this.value.trim());
this.value = "";
}
});
};
socket.onerror = function(){
console.log('Ошибка при подключении');
};
var p = "";
socket.onmessage = function(e){
p = document.createElement("p");
p.innerHTML = e.data;
document.querySelector(".message").appendChild(p);
};
</script>
</html>
import asyncio
import websockets
USERS = set()
async def addUser(websocket):
USERS.add(websocket)
print("Добавлен новый пользователь: {0}".format(websocket))
async def removeUser(websocket):
USERS.remove(websocket)
print("Удален пользователь: {0}".format(websocket))
async def socket(websocket, path):
await addUser(websocket)
try:
while True:
message = await websocket.recv()
print("Сообщение: {0} от пользователя: {1}".format(message, websocket))
await asyncio.wait([user.send(message) for user in USERS])
finally:
await removeUser(websocket)
start_server = websockets.serve(socket, '', 5678)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()